autotest: tko: connect via cloudsql_proxy if possible

We have setup cloudsql proxy on all autotest servers. In this change, we
try to connect the cloudsql instance by using the proxy socket. When
failed, it fallbacks to connect using username/password/host.

BUG=chromium:868052
TEST=Tested on my test autotest server:
    1. setup shadow_config.ini properly with global_db_proxy_socket
    information.
    2. Ran below code and ensure no exception.
        import common
        from autotest_lib.tko import db
        sql = db.db()
    3. Removed global_db_proxy_socket from shadow_config.ini
    4. Re-ran above code and ensure connection failed because my testing
    server IP isn't in the whitelist.

Change-Id: I39738d39b4c3bb10471cd705abddba041f423b61
Reviewed-on: https://chromium-review.googlesource.com/1164064
Commit-Ready: Congbin Guo <guocb@chromium.org>
Tested-by: Congbin Guo <guocb@chromium.org>
Reviewed-by: Congbin Guo <guocb@chromium.org>
diff --git a/frontend/database_settings_helper.py b/frontend/database_settings_helper.py
index 81b08d0..dd7a84c 100644
--- a/frontend/database_settings_helper.py
+++ b/frontend/database_settings_helper.py
@@ -143,6 +143,7 @@
         'NAME': getter('database'),
         'USER': getter('user'),
         'PASSWORD': getter('password', default=''),
+        'PROXY_SOCKET': getter('socket', default=None),
         'READONLY_HOST': getter('readonly_host', default=getter('host')),
         'READONLY_USER': getter('readonly_user', default=getter('user')),
     }