gem5: Addition of a gem5 connection

This is the first in a series of commits to allow for the use of gem5 as a target in devlib.
The interaction with the gem5 simulation is done by the Gem5Connection, a type of TelnetConnection.
There are two types of Gem5Connections (Linux and Android) as they differ slightly in the implementation
of some methods. Other types of connections have only been changed to make them uniform (e.g. arguments for init method)

 Changes to be committed:
	modified:   devlib/__init__.py
	modified:   devlib/host.py
	modified:   devlib/utils/android.py
	modified:   devlib/utils/ssh.py
diff --git a/devlib/utils/android.py b/devlib/utils/android.py
index b3479a8..ad4c324 100644
--- a/devlib/utils/android.py
+++ b/devlib/utils/android.py
@@ -186,7 +186,7 @@
             self.ls_command = 'ls'
         logger.info("ls command is set to {}".format(self.ls_command))
 
-    def __init__(self, device=None, timeout=None):
+    def __init__(self, device=None, timeout=None, platform=None):
         self.timeout = timeout if timeout is not None else self.default_timeout
         if device is None:
             device = adb_get_device(timeout=timeout)
@@ -216,7 +216,8 @@
         command = "pull '{}' '{}'".format(source, dest)
         return adb_command(self.device, command, timeout=timeout)
 
-    def execute(self, command, timeout=None, check_exit_code=False, as_root=False):
+    def execute(self, command, timeout=None, check_exit_code=False,
+                as_root=False, strip_colors=True):
         return adb_shell(self.device, command, timeout, check_exit_code,
                          as_root, self.newline_separator)