hash repo URLs in the git plugin's cache paths
hash repo URLs in the git plugin's cache paths

Previously we were appending whole escaped URLs in our cache paths. For
example:

    .peru/cache/plugins/git/0b3560b20e60f1a57276208b0e9cddd394087938/https%3A%2F%2Fgithub.com%2Ftpope%2Fvim-commentary.git

Because these paths can be arbitrarily long, they can hit the
260-character path length limit on Windows. Use the SHA1 of the URL
instead.

Note that this change will invalidate the git plugin cache for existing
projects. The next time an existing project misses the tree cache and
invokes the git plugin, it will re-clone its repos. This will only
happen once, so it's probably not worth adding some fancy mechanism to
prevent it.

oconnor663/peru,olson-sean-k/peru,buildinspace/peru,olson-sean-k/peru,buildinspace/peru,oconnor663/peru