LOGIC-88: disequality reification is broken

Was not emitting the entire prefix was all.
clean up disequality reification, test for reification of disequality
constraints even if constraints vars don't appear in the answer term.
LOGIC-53: core.logic converts defrecords

records must extend `IUninitialized`. They always trump maps.
remove stale comment
LOGIC-95: fix some issues with disequality.

1. -relevant-var? is broken for !=c because it compares vars that have
   been rooted with vars that haven't been, when called from udpatec.

2. Because of nested vars, we need to go deeper when recovering vars,
   and only compare ground terms with not= when invoking a !=c
   constraint.

TODO: for 1, we need to rethink how to maintain the constraint map in
face of constraints that change the associations between vars and
constraints.