Include git branch when writing to the lockfile

The problem I saw was that when you do a fresh `berks install`, it shows the original branch included in the Berksfile. Since this branch information is not included in the Berksfile.lock, when `berks install` is performed again, the branch is shown as `master` even though a different branch is specified in the Berksfile since that is the default value for branch in `GitLocation`. This doesn't happen with `berks update` which makes sense as the lockfile is not used for `update`.

Another thing I noticed is that the github location is converted as git location when the first berks is performed. I assume this was by design.