[pvr] refactor: define map type for epg container
[pvr] refactor: use map to improve recording lookup in recordings container
[pvr] refactor: use std::string for recording id to avoid implicit casts
[pvr] cosmetics: fix minor typos in comments
[pvr] add optional support for playing recordings from epg timeline or epg osd
[confluence] add "has recording" marker to programmes having associated recordings in epg timeline view, epg osd and programme search results
[Fix] Cleanup emu environment items on exit.
Remove unused define in emu_msvcrt.
Free allocated CTimeSmoother at exit.
[AE] Free AVIOContext and its buffer.
tvshowmatching: match names without season (foo.E01)
tvshowmatching: allow digits after 'part'. e.g. foo.part.1
add tests for EnumerateEpisodeItem
[videodb] clear out art from tvshow/seasons that were combined in the v85 database update, as the triggers would not have kicked off
Merge pull request #4999 from jmarshallnz/season_cleanup

[videodb] clear out art from tvshow/seasons that were combined
[videodb] we can't use REPLACE INTO when updating values during UpdateTables as analytics aren't in place. fixes problems where a show path appearing in more than one multipath being duplicated on update (thus failing). fixes #15334
Merge pull request #5002 from jmarshallnz/tvshow_multipath_update_fix

[videodb] we can't use REPLACE INTO when updating values during UpdateTables
[videoinfoscanner] no need to compute slow hash on changes in case the fast one already succeeded
[pvr] add ability to delete a whole recordings folder
[omxplayer] remove duplicate log messages