Added amend option to commit operation
Made it so conflicts are not stored on the base repository during transactions.
Fixed an issue with the conflicts being stored in the wrong directory.
Added javadocs.
"previsit" ancestors of commits being sent during network sync
Fix BlameReport.setFirstVersion and use the correct argument order for assertEquals() in BlameOpTest.testBlameChangedByTwoCommits
cache only bucket trees
Set default max heap size to 2GB
refactoring internal to org.geogit.api.Node to use less memory
Make the BDB JE object database create a default je.properties configuration file
Several performance improvements targetted at the import large dataset use case

- New ObjectId.createNoClone(byte[]):ObjectId factory method used whenever the raw
hash byte array is obtained somehow else and its safe not to clone it.

- WorkingTree.insert(Iterator<Feature>, ...) calls in ObjectDatabase.putAll with a
transforming iterator that also has the side effect of adding the node to the
RevTreeBuilder whenever a feature is consumed.

- RevFeature and RevFeatureType maintain the original FeatureType attribute order
Use an intermediate byte buffer in JEObjectDatabase.putAll()

This intermediate byte buffer reduces memory consumption by avoiding
to clone multiple small buffers. and batch inserts as many blobs
as fit in the buffer in ObjectId order to ease the job of the database
when dealing with the btree.
set RevTreeBuilder default normalization threshold to 1M.
fixed issue in FeatureDiff class. Changes in feature types where not reported depending on how the existing fields were modified
Added ref counting to neo4j database services.

Also added javadocs for missing functions.
Fixes #291
Fixed issue with mixed feature types. For features not using the default FT, nodes had the default metadataId.
Updated the web-api to support long transactions and added the Merge web api command.

Changed all web-api commands to support running off of a transaction.
Added Merge which supports checking for conflicts, a dry-run option which sends back what will change in the merge and merge itself with the no-commit option.
Fixed a bug in ReportMergeScenarioOp where removed features weren't being added to the unconflicted list.
The previously stated bug fix caused a test to fail which revealed a problem with the RevTreeImpl class where if the tree was empty when it was read in it would be created with an empty bucket list instead of Optional.absent() which was causing it to list a feature as removed twice when DiffTree was called.
Made a fix to the writeConflicts function.
Working on refactoring Merge in the web-api.

Added conflicts to the response of status through the web-api.
Added checkout to the web-api.
Updated Merge command to return both the new commit it made and the report for the changes made in that merge.
Updated merge and log web-api commands.

Added firstParentOnly option to log.
Removed hack for merge so that it will work when conflicts are store on transactions.