Chameleon: Enable Chameleon client-side support

This change introduces a ChameleonConnection abstraction which unifies the
Chameleon connection from both client-side and server-side. A client test
sets this connection up by given either a lab-DUT hostname or specified in
the command line arguments.

The example test case display_ClientChameleonConnection is added. It verifies
the basic hardware setup of Chameleon from a client-side test.

BUG=chromium:405143
TEST=Ran the old server test display_Resolution.mirrored passed.
TEST=Ran the new client test display_ClientChameleonConnection passed, using:
$ test_that --board peppy --args "chameleon_host=$CHAMELEON_IP" $DUT_IP \
  display_ClientChameleonConnection
TEST=Disconnected the HDMI cable, ran the same test failed.

Change-Id: Iac4c247ddbf9f8dac462f9c1ecb8cda4df74f4a3
Reviewed-on: https://chromium-review.googlesource.com/213709
Tested-by: Wai-Hong Tam <waihong@chromium.org>
Reviewed-by: Hung-ying Tyan <tyanh@chromium.org>
Commit-Queue: Wai-Hong Tam <waihong@chromium.org>
4 files changed