Subtransport logic.

Introduce subtransport registration into libgit2sharp.
A subclass feels more discoverable to me, but I will never use this functionality so take that with a grain of salt. Could even mark the `SmartSubtransport` ctor as `internal` and force inheritors to use either `RpcSmartSubtransport` or `ConnectionBasedSmartSubtransport` (surely there's a better name for this).