server: fix unexpected GetSubTreePaths behavior

The intent is that subtree paths enumerate all paths, even paths
that don't have any objects associated with them.  For example
a get subtree paths on /xyz should provide /xyz/openbmc_project.

Starting with 1c33c22 get subtree paths incorrectly searches for
paths with objects under them.

Resolves: openbmc/openbmc#1544

Change-Id: If6db079d10a4216b192bf18d26b4bacbcc264314
Signed-off-by: Brad Bishop <bradleyb@fuzziesquirrel.com>
diff --git a/obmc/mapper/server.py b/obmc/mapper/server.py
index 18f50c1..0766daf 100644
--- a/obmc/mapper/server.py
+++ b/obmc/mapper/server.py
@@ -555,7 +555,9 @@
     @dbus.service.method(obmc.mapper.MAPPER_IFACE, 'sias', 'as')
     def GetSubTreePaths(self, path, depth, interfaces):
         try:
-            return self.GetSubTree(path, depth, interfaces).iterkeys()
+            return self.filter_interfaces(
+                self.cache.iteritems(path, depth),
+                interfaces)
         except KeyError:
             raise MapperNotFoundException(path)