Add `hgo branches` command and branch heads parsing

Adds support for branches:

1) Adds a new method `(*Repository).BranchHeads() (*BranchHeads, error)` that returns branch head maps (similar to the currently tag maps).
2) Adds a new command `hgo branches`, that behaves like `hg branches`.

BTW, @knieriem, thanks for this awesome lib!