Terminal class now doesn't run commands if Array is empty. Also added 'warning' method + other minor fixes/improvements.
Changed MDASHes in error, warning & success message to ARROWs.
Removed the option to show branches after checkout. This will almost never be used.
Massive re-factor / improvement to the way we checkout branches. Now does a FULL data retrieval on branch before checkout (which is also re-usable code).