Added 'insert' command to insert arbitrary features in a simplified way
Merge pull request #670 from volaya/insert

Add 'insert' command to insert arbitrary features in a simplified way
Use of a static DataStoreFactory in tests can cause pseudo random failures on parallel builds
make functional tests run with the same guice modules than the actual CLI
Remove Guice AOP and dependency injection details from commands.

Remove the need for all commands to know about the AOP framework
being used. All of them are given an instance of org.geogit.api.Injector
from which to have direct access to the repository objects
like Object/Staging/Graph/Config/RefDatabase, WorkingTree, Index, etc

The API is hence made clearer and more succint, leaving the actual
dependency injection details to be handled only by the org.geogit.di
package.
Initial support for pre/post command hooks
some improvements to hooks
Working on supporting classpath hooks and a call chain
fixing rebase conflicts
Implement hooks without AOP/bytecode manipulation
rename Injector as Context, so its a context for a repo regardless of how it acquires the components
Merge branch 'master' into resurrect_hooks

Conflicts:
	src/cli/src/test/java/org/geogit/cli/test/functional/CLITestContextBuilder.java
Fixed support for classpath hooks and added unit tests
expose command context instead of repository.

Exposing the context instead of the repository object is more useful
and achieves the same purpose, plus, context.repository() may be removed
and by exposing the context we could check if the command is being run
inside a transaction (like in context() instanceof GeogitTransaction).
Fix HooksTest to work with JDK6
more fixes to run HooksTest with both JDK 6 and 7
Also check global config for object_durability config option.
Merge pull request #708 from jdgarrett/object-durability-config-fix

Also check global config for object_durability config option.