Spike data management lifecycle

This reworks managers, dimensions, and slots such that only the manager has
references to both the slots and dimensions.  This simplifies and refocuses
dimensions (or rather this is another flip-flop in the design) as well as
giving slots a concrete identity -- they are hashes with a special key for
time.

One huge advantage of this design is that time is ALMOST treated the same as
all of the other terms.  A little more work could make it so that they are
literally just other terms.  It might mean that Manager#advance_to can be moved
into a special dimension.

More work is needed.
Track slot time in a term

This will allow the time to be referenced as a linkage, like a dimension.
Cleanup variable names

Changes 'identifier' to the more manageable 'id'.  Makes consistent the use of
names across classes.
wip