Add 5s timeout to cleanup commands

Sometimes shutdown takes a while due to adb issues, gracefully terminate
with a timeout. This will throw an exception if timeout occured, telling
the developer that something went wrong.

Test: python3 update_device.py ota.zip
Change-Id: I44edc6a291fc682b9439ab97f2880d47dc4e457b
diff --git a/scripts/update_device.py b/scripts/update_device.py
index b784b1b..3ce40a5 100755
--- a/scripts/update_device.py
+++ b/scripts/update_device.py
@@ -350,7 +350,7 @@
     if self._device_serial:
       self._command_prefix += ['-s', self._device_serial]
 
-  def adb(self, command):
+  def adb(self, command, timeout_seconds: float = None):
     """Run an ADB command like "adb push".
 
     Args:
@@ -365,7 +365,7 @@
     command = self._command_prefix + command
     logging.info('Running: %s', ' '.join(str(x) for x in command))
     p = subprocess.Popen(command, universal_newlines=True)
-    p.wait()
+    p.wait(timeout_seconds)
     return p.returncode
 
   def adb_output(self, command):
@@ -546,7 +546,7 @@
     if server_thread:
       server_thread.StopServer()
     for cmd in finalize_cmds:
-      dut.adb(cmd)
+      dut.adb(cmd, 5)
 
   return 0