Merge remote-tracking branch 'upstream/master'

Conflicts:
	.gitignore
	BaseLib/LinkListTemplate.h
	CoreLib/Indexes.h
Merge branch 'master' of https://github.com/chrisjaquet/Codaphela.Library

Conflicts:
	.gitignore
	BaseLib/LinkListTemplate.h
	CMakeLists.txt
	CoreLib/CMakeLists.txt
	CoreLib/Indexes.h
	StandardLib/CMakeLists.txt
Prepping for Linux Branch
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.