Make the "git" data type a single String rather than a map

It was originally a map to allow for polymorphic behavior later on. However,
this is not needed to enable polymorphic behavior, thanks to the magic of
Clojure protocols. If in the future, we need to allow invoking something other
than strings, just make the "invoke" and "invoke-streams" functions part of a
new Git protocol, and extend String to support it.