Add explicit unlock call to release APs after usage.

 - unlock one batch after done testing
 - clear self._hosts after unlock (so we can reuse the same HostLockManager
   object for multiple lock/unlock operations)
 - reworked timeout-retry mechanism in ap_batch_locker.py
 - update unit tests

BUG=chromium:237590
TEST=Manual (using a debug control file, run ChaosOpen test on 3 APs
             w/ batch_size=2)

Change-Id: I40e1dc9a369d65599bb3491a75fa46729290faeb
Reviewed-on: https://gerrit.chromium.org/gerrit/49989
Reviewed-by: Christopher Wiley <wiley@chromium.org>
Reviewed-by: Kris Rambish <krisr@chromium.org>
Reviewed-by: Alex Miller <milleral@chromium.org>
Commit-Queue: Tan Gao <tgao@chromium.org>
Tested-by: Tan Gao <tgao@chromium.org>
4 files changed