Added tests, fixed bugs for in_ancestor with implicits.
Minor refactor of in_ancestor for brevity, fewer dot-lookups.

Called "self.parent_space" a lot, so just replaced that with "p".
Reworked implicit to use Boolean expressions.

The list of expressions I was using before was really just a poor version of
And.  Now, instead of assuming And and that expressions should equal zero, you
must give some boolean expression, such as an And containing Equalities.
Subs support for implicit and inverse.

Creates a potentially sticky situation if trying to substitute a parameter.
Could easily invalidate both of them.
Almost complete contains method, and tests to fit it.

Uses implicit functions to do the work.  Works for almost all tests, but one
fails due to its function not simplifying readily enough.  Including simplify
in contains broke it, as simplify appears to sometimes produce incorrect
results.  For now, contains is therefore only partially complete.