Fix git:branch bug when there is more than one branch with equal SHA-ID

This fixes badmatch error when we have more than one branch with equal sha-id. In such case, you tried to match one-element list ([B]) with list of branches (["branchA", "branchB"]). Now we just return list of branches, separated with "; ", ex. "branchA; branchB"
As mrjaros said:
> Anyway, it is still better to return such info than to crash - until we find a FINAL SOLUTION for this bug, imho.

I think that repair bug by implements bad behavior is worse than this bug. Look:
```erlang
branch(Repo) ->
    case status_is_detached(Repo) of
        false -> {ok, "blah"};
        true -> detached
    end.
```
This 'fix' causes that we not see crash, but still this is not properly behavior. This behavior is just as incorrect as {ok, "master; some_branch"} - because you can not be on two branches in one moment ;)

If this function cannot be done with use "refs" maybe you should use other git command?
e.g.:

```bash
$ git symbolic-ref --short HEAD
master
```