Check out the appropriate branch in executor

This mimics the behavior of Zuul cloner and allows the user to
specify what branches of each repo should be checked out in the
jobdir at the start of the job.

(Of course, the job is free to check out other branches as needed;
all of them will have the appropriate future state.)

Change-Id: I93af5c49cb0404944636c7e63d203cdb564b267c
3 files changed