dvr: Autorec rules must still match event after update. (#4760).
We now check the autorec rule matches an event following an
update and on startup.
When using xmltv grabbers you can have an autorec rule that
matches "title: A". When a future xmltv run replaces the
event with "title: B" then the dvr event is updated to reflect
the new details (and will log updated title), but the autorec
rule was not checked to see if it still matched the event.
This meant we would record "title: B" even though the autorec
was to only record "title A".
Also, previously if you delete the epgdb between runs then the
timers spawned by autorec rules remained. This could cause problems
if the epgdb had been removed due to incorrect setup such as invalid
xmltv files.
This meant that you then had to manually disable and re-enable the
autorec rules to remove these incorrect timers.
Now we remove any record events created by an autorec rules if that
event no longer matches the schedule.
This does mean that if the user does _not_ persist the epgdb at all
then, on startup, they no longer have autorecs timers matching until
the epg is populated at startup, which is a change in behaviour (since
previously autorec timers would remain) but could also be considered
"expected" behaviour (no epgdb means no autorec timers).