Support creating goldfish on remote host

This commit adds goldfish_remote_image_remote_host that creates a device
factory and follows the common flow to initialize the devices. The
device factory implements the following operations:
- Delete running instances and files.
- Download and cache the images from Android Build API.
- Upload the images to the remote host.
- Start emulator process.

The device factory controls the remote host via SSH. The user config and
the command line must include the SSH user, key path, host address, and
the service account for Android Build API.

Bug: 185094559
Test: acloud-dev create --avd-type goldfish -vv \
      --branch aosp-master \
      --build-id 7476030 \
      --build-target sdk_x86_64-sdk \
      --emulator-build-target sdk_tools_linux \
      --host 192.168.9.3 \
      --host-user root \
      --host-ssh-private-key-path ./id_rsa \
      --config-file ./user.config \
      --service-account-json-private-key-path ./key.json \
      --image-download-dir /tmp/acloud_download
Change-Id: I3a62adda8e2dff9090bd65eeb57c582cc92e0197
7 files changed