Allow the manifest to be accessed it if is in work tree

If the manifest's work tree is actually inside of the rest of
the client work tree then its only fair that we include it as
a project that the user can access.

Signed-off-by: Shawn O. Pearce <sop@google.com>
diff --git a/command.py b/command.py
index 9e970e8..6e4e2c5 100644
--- a/command.py
+++ b/command.py
@@ -71,6 +71,12 @@
     """A list of projects that match the arguments.
     """
     all = self.manifest.projects
+
+    mp = self.manifest.manifestProject
+    if mp.relpath == '.':
+      all = dict(all)
+      all[mp.name] = mp
+
     result = []
 
     if not args:
@@ -91,7 +97,9 @@
             for p in all.values():
               by_path[p.worktree] = p
 
-          if os.path.exists(path):
+          try:
+            project = by_path[path]
+          except KeyError:
             while path \
               and path != '/' \
               and path != self.manifest.topdir:
@@ -100,11 +108,6 @@
                 break
               except KeyError:
                 path = os.path.dirname(path)
-          else:
-            try:
-              project = by_path[path]
-            except KeyError:
-              pass
 
         if not project:
           raise NoSuchProjectError(arg)