[autotest] Non-threaded version of drone task queue

Drone manager creates threads for each drone. Creating threads
and joining them sometimes incurs a long latency. A shard uses
itself as a drone. There is no reason to create/join a thread
and has higher scheduler tick by the latency.

Let the drone manager choose to be threaded/non-threaded by
the configuration option.

BUG=chromium:444643
TEST=Run dummy suite on a testing machine using a real DUT
with TRUE/FALSE threaded_drone_manager option.

Change-Id: I18d2e041a7b5363b3bade69e194018064e12d876
Reviewed-on: https://chromium-review.googlesource.com/320160
Commit-Ready: Mungyung Ryu <mkryu@google.com>
Tested-by: Mungyung Ryu <mkryu@google.com>
Reviewed-by: Mungyung Ryu <mkryu@google.com>
diff --git a/global_config.ini b/global_config.ini
index 9ae7fe1..c282d2c 100644
--- a/global_config.ini
+++ b/global_config.ini
@@ -195,6 +195,9 @@
 max_provision_retries: 0
 drone_build_externals: False
 inline_host_acquisition: USE SHADOW INLINE_HOST_ACQUISITION
+# If True, the drone manager creates a thread for each drone.
+# Otherwise, drones are handled in a single thread.
+threaded_drone_manager: True
 
 [HOSTS]
 wait_up_processes: