Added a web endpoint to determine affected features for a commit.
Added an early out for AffectedFeaturesResource.
First pass at fetching sparse commits over http.
Fixed a NPE with sparse clone.
Fixed an issue with ObjectResource.
Fixed more issues with http sparse.
Fixed an issue with the sent filter.
Added initial support for pushing from a sparse clone over http.
Exposed the apply changes web command.
Added "push safety" to http mapped remotes.

Remote refs and trees will only be updated if the remote ref wasn't changed
since the push began.
Added javadocs and updated sparse clone implementation.

Added javadocs to all new remote classes.
Updated sparse clone to only map a single remote branch.
Updated merge to allow merging from a detached head.
Made it so merge pull will merge the local changes into the remote changes,
instead of the other way around.
Fixed a logic error in the commit fetch order.  Parents will now be fetched
before their descendants.
Removed the sparse flag from commits that represent filtered changes.
Fixed commit order logic for fetching and pushing.
Added sparse flag back in to resolve pushing merge commits.