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"
That's wrong to return a list of branches as a string separated by semicolon. If we really want to return list of branches, it should be list of strings, i.e. ["master", "mstr"] instead of "master; mstr".

What does "git branch" command returns in this case? Maybe this function should not use "refs" and detect current branch some other way?