Allow episodes to be preloaded for detail-box

And make search.js:programDataUpdated keep episode list open when rerendering program-box.

This prevents window from scrolling to top and flickering when episodes are changed in some way and the parent program-box is rerendered.
Extract updateTvSeriesClassificationIfEpisodeRemovedFromSeries
Reorder categorization form code
Allow re-categorization of programs for KAVI

* Prefill categorizationForm when program already has a type
* Once submitted, refresh parent program-box if we are dealing with a program within an episode list
* Recalculate tv-series agelimits&warnings for the previously selected series when series changes/removed.
* Remove tv-episode specific fields from program when it's no longer a tv-episode
Fix drafts being shown for deleted programs.
Fix draft not being removed from UI if program deleted from search results
Fix location hash pointing to deleted program after program deletion
Fix program not being removed from recents when deleted from search results
Fix recent-programs not updating on program type change

* Add a custom renderer to recents as a data-element.
* Add a DOM-based data-id to recents so programDataUpdated finds it
* Rerender row using the custom renderer if it's provided in the row
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
Merge pull request #61 from kavi-fi/recategorize

Recategorize