Patch Set 1: Do not submit

> I'm not sure does those unused parameters are somehow needed by feature protocol implementations.

Exactly. I decided to pass these through so a future implementation could for example define their remote as:

  [remote "mine"]
    url = http://...
    useMineMagic = true

And then check for the useMineMagic variable in the canHandle method. If its set, the transport returns true, if its not, it returns false, allowing fallback to the built-in stock http:// transport.

It might be overkill, but I think its a good idea to expose the remote information as part of the canHandle decision making.