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.