Made it so transactions will be merged by default instead of rebased.

When synchronizing with multiple repositories, rebasing transactions will cause
history to diverge.  This change makes it so the default behavior is the safe merge,
but rebase can still be specified for cases in which a transaction only deals with local
changes.
Remove typename prefix from feature ids when importing from GeoTools DataStores

Documentation has been modified to reflect the above changes
Improved usage of exit codes in CLI commands

Some CLI commands print error/warning messages to the console in case of failure, and exit with a zero exit code. This commit fixes that, so all CLI commands exit with non-zero exit code whenever the operation was not succesfully performed.

The commit includes some light cleaning in api operations
Merge pull request #295 from volaya/replace_fid

Remove typename prefix from feature ids when importing from GeoTools DataStores
Merge pull request #256 from volaya/exit_code

Improved usage of exit codes in CLI commands
Adding option to GeoGitDataStore to enable creation of a repository on demand
Merge pull request #313 from jdeolive/ds_create

Adding option to GeoGitDataStore to enable creation of a repository on demand
Merge pull request #296 from jdgarrett/sync-transaction-fix

Made it so transactions will use merge by default instead of rebase.
fix type of exception expected in LogOpTest that fails after merging 421b49bc