Use SymPy Tuples in Subspace.  Check that params is Symbols.

Makes Subspaces a little more definitively immutable and harder to mess up.
Changed coords, params, and parent_space to @properties.

Originally had them as attributes that could have been modified after subspace
creation.  Doing so would make for a seriously broken object.  Now it's
(again) a little more immutable.
Partial work on Subspace.in_ancestor().

Totally not done, but need to save here to work on other supporting stuff.
Added tests for subs-ing propagating to parent space.
Almost completed Subspace.in_ancestor.

Still has a potential issue, but requires tests to properly ferret out.