acloud: Support acloud reconnect command.

Bug: 118648283
Test: m acloud && atest acloud_test && acloud reconnect
1. remote instance, no ssh tunnel established.
   - tunnel established , adb connect and vnc started.
2. remote instance, ssh tunnel established, no adb connect/vnc started.
   - adb connect and vnc started.
3. remote instance, ssh tunnel established, adb connected but no vnc started.
   - vnc started.
4. remote instance, ssh tunnel established, no connected but vnc started.
   - adb started.
5. local instance, no adb connected/vnc started.
   - adb connect and vnc started.
6. local instance, no adb connected but vnc started.
   - adb connect.
7.local instance, adb connected but no vnc started.
   - vnc started.
Change-Id: I19e3fea1d312666907deeb3e2069cae2458107ea
diff --git a/public/acloud_main.py b/public/acloud_main.py
index cca92c2..30e18be 100644
--- a/public/acloud_main.py
+++ b/public/acloud_main.py
@@ -61,6 +61,8 @@
 from acloud.create import create_args
 from acloud.delete import delete
 from acloud.delete import delete_args
+from acloud.reconnect import reconnect
+from acloud.reconnect import reconnect_args
 from acloud.internal import constants
 from acloud.list import list as list_instances
 from acloud.list import list_args
@@ -101,6 +103,7 @@
         CMD_CREATE_GOLDFISH,
         list_args.CMD_LIST,
         delete_args.CMD_DELETE,
+        reconnect_args.CMD_RECONNECT,
     ])
     parser = argparse.ArgumentParser(
         description=__doc__,
@@ -236,6 +239,9 @@
     # Command "list"
     subparser_list.append(list_args.GetListArgParser(subparsers))
 
+    # Command "Reconnect"
+    subparser_list.append(reconnect_args.GetReconnectArgParser(subparsers))
+
     # Add common arguments.
     for subparser in subparser_list:
         acloud_common.AddCommonArguments(subparser)
@@ -421,6 +427,8 @@
         report = device_driver.Cleanup(cfg, args.expiration_mins)
     elif args.which == list_args.CMD_LIST:
         list_instances.Run(args)
+    elif args.which == reconnect_args.CMD_RECONNECT:
+        reconnect.Run(args)
     elif args.which == CMD_SSHKEY:
         report = device_driver.AddSshRsa(cfg, args.user, args.ssh_rsa_path)
     elif args.which == setup_args.CMD_SETUP: