Previously, the Filenames generator only yielded *one* filename before
returning, making Message.get_filenames() behave as Message.get_filename(). This
commit fixes this incorrect behavior: now the generator yields all the
filenames, as expected.
         if self._files is None:
             raise NotmuchError(STATUS.NOT_INITIALIZED)
 
-        if not nmlib.notmuch_filenames_valid(self._files):
-            self._files = None
-            return
+        while nmlib.notmuch_filenames_valid(self._files):
+            yield Filenames._get(self._files)
+            nmlib.notmuch_filenames_move_to_next(self._files)
 
-        file = Filenames._get(self._files)
-        nmlib.notmuch_filenames_move_to_next(self._files)
-        yield file
+        self._files = None
 
     def __str__(self):
         """Represent Filenames() as newline-separated list of full paths