This change uses the newly-exposed Transport interface to use Go's
implementation of http.Client instead of httpclient via libgit2.
(cherry picked from commit b983e1daeb)
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.
(cherry picked from commit f1fa96c7b7)