Allow to override default ssh transport_cb - in order to allow third party ssh transports

*new*:
W/o this patch it is not possible to have a third party ssh transport_cb if GIT_SSH is disabled.

*old*:
This adds support for SSH tunnel helpers (like plink) on Win32.

In the current form it's quite hardcoded, because there is no proper fallback for third party ssh transports in https://github.com/csware/libgit2/blob/118d1f9e3efe6308d134c8fef1b55a871db1a58a/src/transport.c#L107.
Everywhere where you call `git_transport_new()` where you're not freeing the memory afterwards. Since there is no freeing function, it will always leak, as trying to free would segfault.