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
Add missing feature specs for git ship
Missing feature specs for git kill
address comments
Merge branch 'master' into kg-user-stories-sync