def walk(self, mtop, topdown=True):
        """`os.walk(path)` for a directory in Manta.

        A somewhat limited form in that some of the optional args to
        `os.walk` are not supported. Also, instead of dir *names* and file
        *names*, the dirents for those are returned. E.g.:

            >>> for dirpath, dirents, objents in client.walk('/trent/stor/test'):
            ...     pprint((dirpath, dirents, objents))
            ('/trent/stor/test',
             [{u'mtime': u'2012-12-12T05:40:23Z',
               u'name': u'__pycache__',
               u'type': u'directory'}],
             [{u'etag': u'a5ab3753-c691-4645-9c14-db6653d4f064',
               u'mtime': u'2012-12-12T05:40:22Z',
               u'name': u'test.py',
               u'size': 5627,
               u'type': u'object'},
              ...])
            ...

        @param mtop {Manta dir}
        """
        dirents = self.ls(mtop)

        mdirs, mnondirs = [], []
        for dirent in sorted(dirents.values(), key=itemgetter("name")):
            if dirent["type"] == "directory":
                mdirs.append(dirent)
            else:
                mnondirs.append(dirent)

        if topdown:
            yield mtop, mdirs, mnondirs
        for mdir in mdirs:
            mpath = ujoin(mtop, mdir["name"])
            for x in self.walk(mpath, topdown):
                yield x
        if not topdown:
            yield mtop, mdirs, mnondirs
`os.walk(path)` for a directory in Manta.

        A somewhat limited form in that some of the optional args to
        `os.walk` are not supported. Also, instead of dir *names* and file
        *names*, the dirents for those are returned. E.g.:

            >>> for dirpath, dirents, objents in client.walk('/trent/stor/test'):
            ...     pprint((dirpath, dirents, objents))
            ('/trent/stor/test',
             [{u'mtime': u'2012-12-12T05:40:23Z',
               u'name': u'__pycache__',
               u'type': u'directory'}],
             [{u'etag': u'a5ab3753-c691-4645-9c14-db6653d4f064',
               u'mtime': u'2012-12-12T05:40:22Z',
               u'name': u'test.py',
               u'size': 5627,
               u'type': u'object'},
              ...])
            ...

        @param mtop {Manta dir}