Allow autocompletion of git branches for all Git commands

This is safer. The old way prevented autocompletion for normal
Git commands.
Improved features for git-town
resolves #199: command list architecture
missing
Merge branch 'master' into kg-user-stories-ship