Update the git branch command for bash.

This is now cleaner and shouldn't break in the future. (Hopefully it works
reasonably with older versions of git though!)
Add git function to check if we have unpushed changes.
Fix change to git status command.