Handle new descriptions of detached head introduced in git 1.8.3

see git gc8183cd builtin/branch.c

There are 4 types in total:
(no branch, rebasing %s)
(no branch, bisect started on %s)
(detached from %s)
(no branch)
Merge pull request #1895 from linquize/detached-head-1.8.3

Handle new descriptions of detached head introduced in git 1.8.3
IsDetachedHead method fixed
Problem with "Push all tags" fixed. Closes #1889
Dont commit merge now generic option. Closes #1882
Current checkout detection fixed for bare repositories