Fixed a state-maintenance bug

Checkpoint, but we're getting close.  User Values seem to be working for
the owner but not a Member, for some reason.
Basic UserValues are finally working

Successfully recording separate values for two different users.

Horrible hack involving UserValueUpdateFilter, to prevent UVT QValues
from making it down to serialization and crashing.  Instead, when a UVT
gets to the Space-modify point, we assume it is in error and replace it
with the previous value of the wrapper instead.

We now cache the IDs of the UserValue Properties in the SpaceState, so
that we can check them quickly.

We also precalculate which Properties have changed, so that the rest of
the system can be more efficient about checking them.