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.
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.
Ensuring working tree passed into feature writer.

As previously written FeatureWriter maintained a reference to WorkingTree
that was never initialized. Causing a NPE on calls to remove() and next().
fix type of exception expected in LogOpTest that fails after merging 421b49bc
Merge pull request #314 from jdeolive/fw_wtree2

Ensuring working tree passed into feature writer.
Fixed issue with console messages in case of error.

Console was not being flushed when a CommandFailedException was thrown, and messages did not show up on the console in that case
Improved revert operation to add better handling of conflict cases