beets-play: Cleanup code doesn't run in `play_music()`.
The `play_music()` function in beets-play calls `interactive_open()`, which ends python execution rather then forking a new process. For this reason, cleanup code responsible of the deletion of the temporary playlist after the invocation of the player doesn't actually run.

> We have two options:
> - Make the `play` plugin use a different spawning mechanism (leaving `interactive_open` for `config -e` >and the like).
> - Add an optional flag for `interactive_open` to avoid `exec`ing in place.

diff --git a/beetsplug/play.py b/beetsplug/play.py
index 1d425e1c8..c943a5155 100644
--- a/beetsplug/play.py
+++ b/beetsplug/play.py
@@ -129,13 +129,8 @@ class PlayPlugin(BeetsPlugin):
         try:
             util.interactive_open(open_args, command_str)
         except OSError as exc:
-            raise ui.UserError("Could not play the music playlist: "
+            raise ui.UserError("Could not play the query: "
                                "{0}".format(exc))
-        finally:
-            if not raw:
-                self._log.debug('Removing temporary playlist: {}',
-                                open_args[0])
-                util.remove(open_args[0])
 
     def _create_tmp_playlist(self, paths_list):
         """Create a temporary .m3u file. Return the filename.
['beetsplug/play.py']