Add fetch_repo() and use it
Add fetch_repo() and use it

Abstracts the copy-pasta codepath used by fetch_qa_suite() and
fetch_teuthology() into a function usable by both, and also usable to
fetch arbitrary repos. Provides branch selection, optional locking and
retry, and an optional bootstrap callback.

Signed-off-by: Zack Cerza <d7cdf09fc0f0426e98c9978ee42da5d61fa54986@redhat.com>

ivotron/teuthology,michaelsevilla/teuthology,ceph/teuthology,ivotron/teuthology,dmick/teuthology,SUSE/teuthology,zhouyuan/teuthology,dreamhost/teuthology,t-miyamae/teuthology,dreamhost/teuthology,ktdreyer/teuthology,robbat2/teuthology,SUSE/teuthology,dmick/teuthology,SUSE/teuthology,ktdreyer/teuthology,caibo2014/teuthology,ceph/teuthology,zhouyuan/teuthology,robbat2/teuthology,michaelsevilla/teuthology,t-miyamae/teuthology,dmick/teuthology,caibo2014/teuthology