Added support for aliases in OSM, and refactored and fixed previous OSM tools

-Package structure is less fine-grained
-Operation test do not use cli
-Added comments to tests
-Rewrote harcoded field indexes in unmap operation
-Declared version of osmosis dependence in parent pom file
-Guava Files class is now used to read filter an mapping files
Fixed issue when unmapping unchanged features
Changed how and incomplete OSM download is handled

Download with incomplete entities is now not an exception and the cli command exists with 0 code

This fixes a bug with the log file, which was not written before in the case of an incomplete download
Fixed some issues with the Neo4JGraphDatabase.

Fixed two potential infinite loops.
Use a UniqueFactory to ensure that duplicate nodes are not created.
Added fetch, pull and push to web-api. Updated remote web-api to support adding and removing remotes.
Added the statusCode from the RemoteException to the error response.
Revised the response for Fetch web-api command.
Updated CheckoutWebOp and PullWebOp to support conflict resolution.

Updated CheckoutWebOp to support ours and theirs options to resolve conflicts with.
Updated PullWebOp to return the merge commit result so that we can show conflicts if they should arise.
Updated MergeReport to store the objectIds of ours, theirs and ancestor commits.
Fixed a problem with TransactionEnd so that it didn't stop if there was a NothingToCommitException in the case of a fast-forward.
Handled NothingToCommitException in PullOp, made MergeWebOp use the objectIds being stored in the report.
Some minor fixes.

Made it so you don't have to specify a message, mainly just to keep the merge commit message that gets saved.
Added a null check to Push in case a null ref spec was passed in.
A fix to merge, which i accidentally broke in my last commit.
Added Add and Remove commands to the web-api.

Fixed a problem where if there was only one conflict in the conflicts file the file wasn't getting removed.
Made commit require a transaction, to preserve stability.
Fixed removal of conflicts, adjusted some things to get conflict resolution working through the web-api.
Added capability of setting author name and email for merge commits.
Added capability to specify author for commit web op.
Pass through author name and email to the commit command.
Pull now also supports the specification of author name and email.
Removed limit on log.
Added verbose description to NoSuchElementException in GeoGitDataStore.

Saw this exception in one of the logs, adding a more verbose message in case we encounter it again.
Fixed an issue with caused push to generate an exponential amount of network requests.
Prevent duplicate commits from being processed in push and fetch.