Fix recent program removal not removing same program from search results

* Use the matching data-id's in searchPageApi.programDeleted to remove all matching rows.
* We still need to call loadRecents() after the animations to ensure that the header is removed if the recent program list is empty.
Fix episodelist when have preloaded episodes but there are none

This happens when the last episode is remove from a series and the removal is done from within the episode list.
Fix refreshing UI state when tv-episodes are recategorized

Need to possibly refresh:
* The series that the program belonged to
* The series that the program now belongs to
* The program search result row itself
* Recents (these are now handled by searchPageApi.programDataUpdated)
Fix series not updating in search results if episode deleted in search results