Add git support to PS1 and better colouring

- Started adding support for git output on the PS1 variable, along with better support for some colouring (use of variables than hard-coded).
- Cleaned and added some more commenting.
- Moved global configuration to the top to ensure that ours overrides all global configuration options for Bash.