Added additional OSM commands

This commit adds commands to import/download from overpass API, export to OSM formats, and export diffs as changesets
It also adds functionality to create mapped datasets from OSM data, export them to shp/pg/sl, and unmap them

It modifies the ExportOp and BranchCreateOp to add some extra functionality that is needed
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.
Merge branch 'RemoteWebApi' into SprintInProgress

Conflicts:
	src/core/src/main/java/org/geogit/api/plumbing/TransactionEnd.java
Handled NothingToCommitException in PullOp, made MergeWebOp use the objectIds being stored in the report.
Merge branch 'RemoteWebApi' into SprintInProgress
Merge branch 'osm' of git://github.com/volaya/GeoGit into volaya-osm

Fix tests that access RevFeature attribute values by index to match
the expected value indices after the merge of f5557ce8 where RevFeature
and RevFeatureType maintain the original FeatureType attribute order.
add unit test exposing an issue where the computed tree size is sometimes wrong.
fixed issue when computing trees sizes in RevTreeBuilder
set version to 0.4-SNAPSHOT
Bump to 0.3
Reorganize docs and use a consistent theme
Update links in theme
Fix typo in theme
Fixed filename of quickstart and added it to index in doc/manual
Bump version in quickstart.rst
Skip SQLite tests if Spatialite fails to load
Merge pull request #337 from dwins/conditional-sqlite-testing

Skip SQLite tests if Spatialite fails to load
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.
Merge branch 'RemoteWebApi' into SprintInProgress