target: fixed get_installed() on new targets

get_installed() looks in self.executables_directory for the binary. This
may not exist on a target (this is created when setup() is invoked).
This commit updated get_installed() to check whether target_directory
exists first, avoiding the error.
diff --git a/devlib/target.py b/devlib/target.py
index 19fbcbb..6b9f760 100644
--- a/devlib/target.py
+++ b/devlib/target.py
@@ -402,8 +402,9 @@
                     return self.path.join(path, name)
             except TargetError:
                 pass  # directory does not exist or no executable premssions
-        if name in self.list_directory(self.executables_directory):
-            return self.path.join(self.executables_directory, name)
+        if self.file_exists(self.executables_directory):
+            if name in self.list_directory(self.executables_directory):
+                return self.path.join(self.executables_directory, name)
 
     which = get_installed