Target: fix read_tree_values for empty dir

grep was existing with 1 when passed an empty directory, resulting in
TargetError being raised unless explicitly suppressed with
check_exit_code=False. This case is now fixed to correctly return an
empty dict without error.

read_tree_values bash function has also been optimized to not
unnecessarily run find in a subshell if the path passed to the function
does not exist.
diff --git a/devlib/target.py b/devlib/target.py
index 8609fec..ec24765 100644
--- a/devlib/target.py
+++ b/devlib/target.py
@@ -620,6 +620,8 @@
                                     check_exit_code=check_exit_code)
         result = {}
         for entry in output.strip().split('\n'):
+            if not entry.strip():
+                continue
             path, value = entry.strip().split(':', 1)
             result[path] = value
         return result