Working on Dependent Object Deserialiser
Made ObjectDeserialiser virtual.  It makes no sense to try and deserialise an object containing to pointers if those pointers can only be discarded.  The sub classes DependentObjectDeserialiser and IndexedObjectDeserialiser will understand how to deal with pointers.
ObjectGraphDeserialiser now loads objects that the base object are dependent on but does not fix pointers.
Added indexed count to NamedIndexedObjects.
Fixed marking DepenedentReadObjects as read.
Added fix pointers to ObjectGraphDeserialiser.
Updating VCS filters.
One Root to rule them all.
Roots constructor now sets it's dist to root to zero.
Added ObjectReaderSimple.  Factored out common reader/writer functionality into ObjectIO and friends.
Added an IndexGenerator to centralise generating indexes.
ObjectDeserialiser remaps indexes on loading to make sure there is no overlap with existing indexes.
Updated todo file.
ObjectGraphDeserialiser now checks to see if an object with the name it's deserialising already exists in the database (and then overwrites it).
Added the shell for ObjectRemapper.  Factored DependentReadPointer out from DependentReadObjects.
Fixed tos and froms on load.
Indexed memory now fails on 'add'ing an object with an existing oid unless overwrite is explicityly called.
Added new to old object Index remapping on object graph deserialisation.  Forgot I need to know more than just who points to what but where in who it points from.  Aaagh.
Removed tos from object and replaced it with pointers.
Fixed setting root distance for new style object 'to' pointer list.