[autotest] Pipe check_hosts parameter down into dynamic_suite

The builders need to schedule a test suite and then wait for it to
complete.  They probably want to check to make sure the suite can be
scheduled, and error out if not.  That's great.  For suites that we
schedule once a day or asynchronously in some other way, we probably
don't want to bail just because the testbed has too many hosts that
need Repair or something.  We want to fire and forget.

To support these two modes of operation, pipe a 'check_hosts' paramter
all the way from the create_suite_job() RPC, down through control
files, all the way to dynamic_suite.reimage_and_run().  Ensure that we
tolerate check_hosts being left unset in reimage_and_run().  Also,
make 'atest suite create' able to toggle this value.

BUG=chromium-os:27526
TEST=dynamic_suite_unittest.py, site_rpc_interface_unittest.py
TEST=./server/autoserv test_suites/dev_harness with check_hosts set both ways.
TEST=install the patch on an autotest instance, and re-run a test suite against the new interface.  The suite should check for hosts and behave appropriately.

Change-Id: I10c3f42dbc37f26d7af3c40439ce212ebf74cfcd
Reviewed-on: https://gerrit.chromium.org/gerrit/17633
Tested-by: Chris Masone <cmasone@chromium.org>
Reviewed-by: Scott Zawalski <scottz@chromium.org>
Commit-Ready: Chris Masone <cmasone@chromium.org>
8 files changed