[autotest] Fix a reference bug

SchedulerError was moved from host_scheduler to scheduler_lib.

Also change suite scheduler driver to use contextlib.closing for threadpool
handling.

BUG=None
TEST=unittest, test suite scheduler run

Change-Id: I56016c4817a5a7fece7076a82bede462f74d5d59
Reviewed-on: https://chromium-review.googlesource.com/321380
Commit-Ready: Dan Shi <dshi@google.com>
Tested-by: Dan Shi <dshi@google.com>
Reviewed-by: Simran Basi <sbasi@chromium.org>
diff --git a/scheduler/agent_task.py b/scheduler/agent_task.py
index 6b4027b..8f6006b 100644
--- a/scheduler/agent_task.py
+++ b/scheduler/agent_task.py
@@ -116,7 +116,7 @@
 from autotest_lib.client.common_lib.cros.graphite import autotest_stats
 from autotest_lib.frontend.afe import models
 from autotest_lib.scheduler import drone_manager, pidfile_monitor
-from autotest_lib.scheduler import host_scheduler
+from autotest_lib.scheduler import scheduler_lib
 from autotest_lib.scheduler import rdb_lib
 from autotest_lib.scheduler import scheduler_models
 from autotest_lib.server import autoserv_utils
@@ -430,14 +430,14 @@
         class_name = self.__class__.__name__
         for entry in queue_entries:
             if entry.status not in allowed_hqe_statuses:
-                raise host_scheduler.SchedulerError(
+                raise scheduler_lib.SchedulerError(
                         '%s attempting to start entry with invalid status %s: '
                         '%s' % (class_name, entry.status, entry))
             invalid_host_status = (
                     allowed_host_statuses is not None
                     and entry.host.status not in allowed_host_statuses)
             if invalid_host_status:
-                raise host_scheduler.SchedulerError(
+                raise scheduler_lib.SchedulerError(
                         '%s attempting to start on queue entry with invalid '
                         'host status %s: %s'
                         % (class_name, entry.host.status, entry))