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.
If you're looking for how stray `1`s end up in strange places in your memory, this might be a good place to start looking.

You're expected to allocate a `git_transport` here.  `git_transport_init` just `memset`s some defaults into it once you have.