Inital oracle export / import implementation
Go back to initial state of functional test
Merge branch 'master' into oracle

Conflicts:
	src/cli-app/pom.xml
	src/geotools/pom.xml
	src/geotools/src/main/java/org/geogit/geotools/cli/GeoToolsModule.java
Add Oracle commands and unit tests
Merge branch 'master' into oracle

Conflicts:
	src/geotools/pom.xml
Update commands
Revised elements/structure page
Aggregate coverage reports for entire project
Merge remote-tracking branch 'origin/master' into oracle
Merge pull request #473 from dwins/aggregate-coverage

Aggregate coverage reports for entire project
Add logging of heap/non heap memory usage to .geogit/log/memory.csv when metrics is enabled
Merge pull request #474 from dwins/oracle

Oracle
Configure cobertura and surefire reports as part of the Maven site
Merge remote-tracking branch 'groldan/profiling'
Use separate RevObject caches for the staging and object databases, make it configurable

Fixes an issue with a RevObject cache being shared by both the object and staging
databases that may make it appear that some objects are present when they are not
in one or the other database, by keeping separate caches for both.
It also implements cache eviction when the object/staging database delete
methods are called, so that objects don't appear to exist after deleted.
Finally, caching can be disabled with the geogit config objectdb.cache.enabled = false
and geogit config stagingdb.cache.enabled = false config options.
The max size of both caches is set to 50k objects by default, and can be changed
through the [objectdb|stagingdb].cache.maxSize configuration option.
Merge remote-tracking branch 'groldan/caching'
Explicitly specify -XX:+UseCompressedOops for the CLI app.

As described in this oracle forum http://tinyurl.com/n5463p2
BDB JE requires to explicitly set this option for the cache
size computation to behave correctly, regardless of whether
the JVM enables the option automatically or not (as in newer
JVM versions).
Initial implementation of ObjectDatabase.getAll(Iterable<ObjectId>):Iterator<RevObject>
use ObjectDatabase.getAll in DeepMove
Make caching module intercept getAll(Interator, BulkOpListener) instead