Fixed some issues with the Neo4JGraphDatabase.

Fixed two potential infinite loops.
Use a UniqueFactory to ensure that duplicate nodes are not created.
Added an additional case for FindCommonAncestor.
Added Neo4JGraphDatabase test coverage.
Merge remote-tracking branch 'origin/pr/352'