Tabular coach reports can now be generated for playlists as well as topics

Is this on the right track to resolve #2808?
This will produce an IndexError if the playlist_id is not for a valid playlist.

You can remove line 194, and instead do:

```playlist = (filter(lambda p: p.id==playlist_id, Playlist.all()) or [None])[0]```