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.
Aha, so this is why you need that github url. So here, you would need to break it down to smaller pieces.

You are doing too many things here and that is complicating the ability to create granular unit tests.

Comments below