Make git commands much more efficient

When the branch is set, we only need to pull down that branch:
Adding --single-branch to the clone command tells git to only pull down the branch we need

When grabbing a specific ref, we only need the one ref:
Instead of pulling down 50 commits from each branch, initialize an empty git repo, setup the remote, and pull down the PR ref.


In the context of one of the apps I am working on, this lowers the git download from 140MB to about 1.6MB. While I realize everyone won't save that much, this should still help a lot.

For another reference, this would save about 140MB of download bandwidth per current rails PR build
Changing directory can be problematic. Care should be taken to get back to the correct directory by the time build starts.