[autotest] Teach autoserv to check a hosts job_repo_url.

Autosev now understands a verify_job_repo_url flag to
mean 'execute a control segment to verify said hosts
contain a valid job_repo_url'. It does this by re-staging
autotest packages at the job_repo_url; If the devserver
embedded in the job_repo_url is unresponsive we get another
devserver, stage autotest on it, and update the job_repo_url.
If the job_repo_url is None we leave it, on the assumption
that the host will go through a re-image before it runs
any tests, which will give it a new job_repo_url.

Pros:
1. If we are unable to stage autotest packages at
   job_repo_url the test will fail, soon and fast.
2. Since we perform these actions in the server_job itself
   we won't see package installation exceptions later on,
   which are just misleading today since we end up
   rsyncing client autotest anyway.

Cons:
1. The re-image job will actually try staging the contents
   of an autotest build it will surely not need. Something
   along these lines is unavoidable in most clean solutions,
   though.

TEST=
1. Ran smoke suite, deleted autotest packages on devserver
   just before security_Minijail, made sure it passed.
   Also deleted the entire build directory.
2. Ran a suite with a bad devserver in the job_repo_url
   and confirmed we resolve to a good one, restage
   autotest and reset the job_repo_url.
3. Ran a suite after recovery (job_repo_url=None).
4. Invoked autoserv with a list of machines.
5. Checked that cleanup, verify, repair don't get the
   verify_job_repo_url flag, and hence, don't re-stage.
   Cleanup still passes because it rsyncs client
   autotest in the invalid job_repo_url case.
6. Server job fails before running tests if devservers
   are down or we're unable to change job_repo_url.
7. BVTs pass

BUG=chromium:255114

Change-Id: I3c5f445962707a0a089f9d755aed4c4d0fdbd8f2
Reviewed-on: https://gerrit.chromium.org/gerrit/60578
Reviewed-by: Alex Miller <milleral@chromium.org>
Tested-by: Prashanth Balasubramanian <beeps@chromium.org>
Commit-Queue: Prashanth Balasubramanian <beeps@chromium.org>
diff --git a/scheduler/monitor_db.py b/scheduler/monitor_db.py
index 93c65c4..fa2e660 100755
--- a/scheduler/monitor_db.py
+++ b/scheduler/monitor_db.py
@@ -1819,10 +1819,9 @@
         execution_tag = self.queue_entries[0].execution_tag()
         params = _autoserv_command_line(
             hostnames,
-            ['-P', execution_tag, '-n',
+            ['-P', execution_tag, '-n', '--verify_job_repo_url',
              _drone_manager.absolute_path(control_path)],
             job=self.job, verbose=False)
-
         if self.job.is_image_update_job():
             params += ['--image', self.job.update_image_path]