def move(self, key, folder):
        """Move the specified key to folder.

        folder must be an MdFolder instance. MdFolders can be obtained
        through the 'folders' method call.
        """
        # Basically this is a sophisticated __delitem__
        # We need the path so we can make it in the new folder
        path, host, flags = self._exists(key)
        self._invalidate_cache()

        # Now, move the message file to the new folder
        newpath = joinpath(
            folder.base, 
            folder.get_name(), 
            "cur",     # we should probably move it to new if it's in new
            basename(path)
            )
        self.filesystem.rename(path, newpath)
        # And update the caches in the new folder
        folder._invalidate_cache()
Move the specified key to folder.

        folder must be an MdFolder instance. MdFolders can be obtained
        through the 'folders' method call.