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.
Made it so conflicts are not stored on the base repository during transactions.
Fixed an issue with the conflicts being stored in the wrong directory.
Added javadocs.
"previsit" ancestors of commits being sent during network sync
set version to 0.3-SNAPSHOT
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.
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
fixed bug when resolving default geometry.

The mapping to get the index of the geometry field was used twice, resulting in a wrong index and a later ClassCastException when getting the value.
Merge pull request #302 from jdgarrett/transaction-conflicts

Store Conflicts Separately for Transactions
Merge pull request #297 from dwins/previsit_in_network_transfer

"previsit" ancestors of commits being sent during network sync