Optional custom reifier for predc.
CLP(FD) now resides in it's own namespace with exception of a few remaining complected bits. Updated tests and benchmarks. All tests pass.
keywords in nominal.clj.
And remove yucky extension of `IEnforceableConstraint` to `Object`. Related clean up references to types and interfaces defined in logic.clj.
remove all explicity constraint id management. A minor performance hit. The fast path is still available for those that need it. fix `-featurec`, wasn't wrapping fs argument in a partial map. fix affected tests. bring back purge test.
Remove `FDConstraint` wrapper type. This mostly meant that the fd constraints needed to implement `IEnforceableConstraint` and `IConstraintWatchedStores`, most already implemented `IRunnable` of course. Add `id` and `with-id` fns which delegate to `-id` and `-with-id` if the constraint implements them. This is prep to see if we can remove those protocol fns without taking a performance hit. This would simplify constraint definition and leave the door open for variadic constraints - currently the final argument must be taken by the constraint id.
Add supporting fns `interval-<=` and `interval->=`. Remove silly logic from `<=fdc` implementation, just use `interval-<=`.
Support unification of PersistentVector with datomic.Datom
This is so we can reuse it in the experimental Datomic namespace.