Make @RequiresRepository(true) the default.

This patch moves the check for @RequiresRepository from AbstractCommand.run() to GeogitGLI
and also makes the annotation inheritable, so that the annotation serves both for AbstractCommand
subclasses and plain implementations of CLICommand. A nice side effect is AbstractCommand declares
@RequiresRepository(true) as the default so declaring it on all commands is not necessary.
clean up remaining uses of IAE/ISE in CLICommands
Package refactoring: move geogit-geotools cli commands to the org.geogit.geotools.cli.porcelain package.
fixed issue in apply command with expected class in equal() method
Separated check patch logic from apply patch command and operation.
A new operation and a new plumbing command have been added for patch validity checking
fixed missing call to reset operation in merge command
Removed unused code in Remote/InitSteps
fixed issue when importing with -all and -dest switches, while overwritting

only features where overwritten, but not the default feature type of the destination branch set with the -dest option
Merge pull request #409 from volaya/merge_abort

fixed missing call to reset operation in merge command
Merge pull request #410 from volaya/fix_406

fixed issue when importing with -all and -dest switches, while overwritting
Merge pull request #403 from volaya/apply

fixed issue in apply command with expected class in equal() method
Fix build on geogit-geotools.

Remove testNoRepository() test cases as the check is performed by the cli now.
Move test resource shape.shp to correct package after the refactoring made at 86c481057.
Set default BDB JE log file size for object and staging databases
Updated encoding of GeoServer web endpoint responses to UTF-8.
Merge pull request #411 from jdgarrett/utf8-web-response

Updated encoding of GeoServer web endpoint responses to UTF-8.