Sussman came across a bizarre order dependency which was causing the
(carrying-cells smoke) test to fail.  We tracked it to a misbehavior
of merge on v&ses containing cells, where it would return its first
argument even in circumstances where it should return the second.  Add
a new test that exposes that problem directly and deterministically.
Formatting.
Rationalize unit tests: sort premises in supports and nogoods, and
avoid depending on exact numbers of failures.
Do not rely upon canonicalization in merge for semantics (because
effects circumvent it).