Bash completion for Git commands

Source:
https://github.com/git/git/blob/master/contrib/completion/git-completion.bash
Enable tab-completion for git commands
Conditionally add PPAs and update apt-cache
Install a single package per apt-get call
Refactor: extract apt-get and pip functions
No-op: improve comment