Add features for git options :branch and :revision

Decided not to vendor a test git repo, too much of a hassle. Just added the features based off the github's testrepo.