* Use absolute paths for file:// URIs in tests
* Use getPath() in FileResolverTest
* Extract protocol constants to a common class
* Move repeat() to utility class for tests
* Remove hardcoded target/trash from test cases
* Remove dependency on StatusCommandTest
* Remove dependency on DiffFormatterReflowTest
* Remove unnecessary import of BaseConnection in MessageWriter
* Use BatchRefUpdate for tracking refs in FetchProcess
* Batch reference updates together for storage
* Expose ReceiveCommand.updateType to check for UPDATE_NONFASTFORWARD
* Reject non-fast-forwards earlier in BaseReceivePack
* Try to send HTTP error messages over sideband
* Extract the capability parsing logic in {Upload,Receive}Pack
* Make capability strings in BasePack{Fetch,Push}Connection public
* Fix a typo in "capabilities" in ReceivePack
* Fix a typo referring to RevFilter as RefFilter
* Execute ReceiveCommands via a method rather than in ReceivePack
* Modify refs in UploadPack/ReceivePack using a hook interface
* Remove PreUploadHook.onPreAdvertiseRefs
* Add an AdvertiseRefsHookChain, similar to the other hook chains
* Allow creating ReceiveCommands with a specified type
* Expose an OutputStream from ReceivePack for sending client messages
* Minor javadoc wording fixes in ReceivePack
* Extract filterCommands as a static method on ReceiveCommand