Replace update.sh functionality

Currently we internally use a couple shell scripts to parse arguments and make sure a copy of ```ceph-qa-suite``` are checkout out before we run ```teuthology-suite```. That always seemed brittle and, more importantly, not fair to the community since those tools were kept out-of-tree. This PR adds the same functionality to teuthology itself.
don't we have a place to put Exception classes? importing `BranchNotFoundError` from a utility module reads odd