Playback history

Added a playback history object to core which maintains a list of played tracks with the last played first.
Use `self.assertIn(artist.name, track_ref.name)`, and you'll get much better error messages if the assertion doesn't hold. Same four lines up.