Allow a search result's task to be stopped
Rename LastfmSearchResult to LastfmSearchQuery
Add the result property to LastfmSearchQuery, and allow it to be
serialised and deserialised from JSON
Allow a serialised incomplete LastfmSearchQuery to continue getting
updated after deserialisation
Use the new result property when returning LastfmSearchQuery data
Remove logic in SearchingTrack that is now covered by LastfmSearchQuery,
and move the deserialiser onto LastfmSearch
Remove knowledge of how to extract task ids from the main view,
and use the new LastfmSearchQuery#stop method to delete tasks
Move responsibility of creating and deserialising SearchingTracks
into a factory class
Remove data methods from lib classes, instead extract the required
properties in the view