An initial commit of the versioned graph.

This commit contains the following main components:

VersionedGraph:
An abstract base VersionedGraph class.

NonTransactionalVersionedGraph:
A non-transactional versioned graph implementation

LongVersionedGraph
A non transactional versioned graph