Add method to checkout named branch

* R/checkout.r: Add checkout method for signature git_repository. The
  method takes one argument 'branch' with name of branch to checkout. If
  the branch doesn't exists, checks for an unique remote with name equal
  to branch and creates a local branch tracking remote. If no remote
  branch, creates a new branch if 'create' equals TRUE.

Signed-off-by: Stefan Widgren <stefan.widgren@gmail.com>
Add tests for checkout named branch
Update documentation

Signed-off-by: Stefan Widgren <stefan.widgren@gmail.com>