repo_utils: allow fetching a specific sha1 to per-commit directories
Using a checkout of a single branch used by potentially many
workers/teuthology processes can result in errors when one job
updates the local branch while another job is reading it.
This causes issues particularly easily when using non-master
teuthology branches, and with the teuthology-dispatcher.
This also allows us to guarantee we're using the same
version across an entire run, even if e.g. the master
qa suite is updated between jobs.
Signed-off-by: Josh Durgin <jdurgin@redhat.com>