LocalConnection: Added a `password` parameter

This means it can now be set programatically and not always require
a prompt.
diff --git a/devlib/host.py b/devlib/host.py
index 29ac4f0..80c96b4 100644
--- a/devlib/host.py
+++ b/devlib/host.py
@@ -28,12 +28,12 @@
 
     name = 'local'
 
-    def __init__(self, timeout=10, keep_password=True, unrooted=False):
+    def __init__(self, timeout=10, keep_password=True, unrooted=False, password=None):
         self.logger = logging.getLogger('local_connection')
         self.timeout = timeout
         self.keep_password = keep_password
         self.unrooted = unrooted
-        self.password = None
+        self.password = password
 
     def push(self, source, dest, timeout=None, as_root=False):  # pylint: disable=unused-argument
         self.logger.debug('cp {} {}'.format(source, dest))
@@ -77,4 +77,3 @@
         if self.keep_password:
             self.password = password
         return password
-