Fixes: #836
Changes:
* adding a weak bool param for Remote
* create a new remote in the smartTransportCallback incase one is not found
(cherry picked from commit 0e8009f00a)
This change adds support for git smart transports. This will be then
used to implement http, https, and ssh transports that don't rely on the
libgit2 library.