Move functions into repo_utils

Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
Move exception into a new exceptions module

Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
Reimplement the file locker as a context manager

Also give it a 'noop' flag to enable its callers to optionally not use
locking.

Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
Make teuthology-{suite,worker} share repo code

Repo-fetching code, that is.

Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
After resetting a repo, remove all pyc files

Signed-off-by: Zack Cerza <zack.cerza@inktank.com>
For non-scheduled jobs, check out the suite repo.

Signed-off-by: Zack Cerza <zack.cerza@inktank.com>