Improvements to branch switching. Now takes stashes into account & checks for upstream info before pulling.