Initial commit of new graph database and common ancestor algorithm.
Resolved dependency issues which caused build errors in the geotools module.

Moved TestNeo4JGraphDatabase to the storage package.
Use method interceptors for adding nodes to the commit graph.
Added unit tests for FindCommonAncestor.
Checked for Commit Before Adding
Fixed an issue which caused the commit graph to be incomplete when pulling.
Added directional hints on relational queries to reduce ambiguity.
Changed Neo4J version to the latest stable build.
Allow empty merge commits to bring the target branch into the history.
Updated merge functional test with new output.
Merge remote-tracking branch 'jdgarrett/CommonAncestorFix' into merging
declare neo4j dependency in root pom and let src/core/pom.xml inherit the version from there
do not swallow exception in Neo4JGraphDatabase.put
small readability and performance improvement to Neo4JGraphDatabase
Some more simple code/style changes after merging branch jdgarrett/CommonAncestorFix

- Add missing class headers
- ObjectDatabasePutInterceptor intercepts putAll with a lighter weight approach
at figuring out which RevObjects in the argument iterator are RevCommits. It used
to defeat the purpose of the argument being an iterator by building an List out of
it, now uses a decorating iterator that adds only commits to the list to be added
to the graph db once the actual putAll call succeeded.
- Rename GraphDatabase.lowestCommonAncestor(...) as findLowestCommonAncestor(...)
Merge remote-tracking branch 'jdgarrett/EmptyMergeCommit' into merging
Fixed an issue which caused the transaction to not be fully deleted.
Fixed an issue with data stores trying to sync when it has no origin remote.
Append internal ip to key on server to handle multiple machines on the same remote network.
Use the internal Ip in all commands.