item_spec: Use Playlist instead of ListModelObject

This is in preparation for possibly merging the two later.
Give everything a thorough Rubocopping.

Rubocopping has caused the response structures DSL to change significantly,
which has added a worrying amount of magic.  We'll see.

In addition, the baps_reader_spec has been largely rewritten to avoid a long
method.