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.
That's exactly what it does:  it sets the version field of a `git_transport` object to `1`.  You have not created a `git_transport` object.  So it's setting some other random part of memory to `1`.

Coincidentally, you are `free`ing 1 later.  I don't know that these are definitely related, but I would be curious about it.