Introduced State Cache, and removed SkillLevel dependency

Finally introduced the general SpaceState caching mechanism, whereby any
ecot can add its own cache spin to the state.  This allows us to
slice-and-dice the data as needed, without bulking up the SpaceState.

Used this to remove the most egregious dependency in SpaceState, which
was pulling in both SkillLevel and DataModel.