Swap the remote in-place instead of blowing away the cache dir

Helpful to relieve strain on the Git server.
Merge pull request #74 from square/rob/in-place-remote-swap

Swap the remote in-place instead of blowing away the cache dir