Allow checking out of specific branches

Defaults to the master branch if none is specified

Fixes #6