An initial implementation for git branch checkout. This probably needs some more work and suggestions / improvements.