[autotest] Eureka host.

Creates a eureka host capable of verifying, cleanup, reboot
and machine_install. Also implements the following chagnes:
1. Pipes a base command through is_up, since different ssh
   hosts are bound to have different things pre-installed.
2. Changes some timeouts to integers to avoid asserts.
3. Make host factory a little more generic, and check
   for chromeos host first.
4. Adds a method to remote wget to server/site_utils.

TEST=Tried verify, cleanup, reoboot and machine_install.
BUG=chromium:292629, chromium:273843

Change-Id: I62a700614838569c6d77184b3c3339e914f4b456
Reviewed-on: https://chromium-review.googlesource.com/176303
Tested-by: Prashanth B <beeps@chromium.org>
Reviewed-by: Scott Zawalski <scottz@chromium.org>
Reviewed-by: Simran Basi <sbasi@chromium.org>
Commit-Queue: Prashanth B <beeps@chromium.org>
diff --git a/server/site_utils.py b/server/site_utils.py
index ab8f496..c1390bf 100644
--- a/server/site_utils.py
+++ b/server/site_utils.py
@@ -103,3 +103,17 @@
             sheriff_ids += ['%s@chromium.org' % alias.replace(' ', '')
                             for alias in ldaps.group(1).split(',')]
     return sheriff_ids
+
+
+def remote_wget(source_url, dest_path, ssh_cmd):
+    """wget source_url from localhost to dest_path on remote host using ssh.
+
+    @param source_url: The complete url of the source of the package to send.
+    @param dest_path: The path on the remote host's file system where we would
+        like to store the package.
+    @param ssh_cmd: The ssh command to use in performing the remote wget.
+    """
+    wget_cmd = ("wget -O - %s | %s 'cat >%s'" %
+                (source_url, ssh_cmd, dest_path))
+    base_utils.run(wget_cmd)
+