fixup RTL EITFixup to not fake up original air dates

previously shown means "more then some days after the premiere"
original air date is the date of the premiere
the meaning of premiere is vague as it might be
a) the very first time a programme was shown, ever
b) the first time in this country, ever
c) the first time in free tv, ever
d) the first time on this channel, ever
prettify mythbackend --printsched for systems with >9 virtual tuners

With dual/quad DVB devices and multirec its easy to get two digit
card and input ids. Also the service_id is a 16bit integer, so give
it more room, too.
EITFixup for to force ANIXE EIT to ISO-8859-9 on DVB-T
Fix FFWDSTICKY/RWNDSTICKY behavior while paused.

Thanks to David Engel for spotting this regression introduced in
49dbed5be0729b04a5f0fd0426a32fceb2dd7935.
Bump MDM::downloadNow() timeout up to 60 seconds.

The previous 10-second timeout was causing issues when trying to
download large lineups from Schedules Direct. This commit bumps
the downloadNow() timeout to 60 seconds.  This is a blocking call,
so if the caller doesn't want to potentially block for that long,
they should be use one of the non-blocking methods.

Fixes #11287.
Cutlist editor: Fix the broken undo/redo capability.
Remove some excessive ProcessRequestWork debugging.
Improve DeviceReadBuffer debugging.
Use nothrow new[] to allocate buffer in DRB.

This allows us to handle failures to allocate the potentially large
buffers without the program exiting when compiled with exceptions
enabled (the default).
Reduce # number DeviceReadBuffer::Read() calls.

Refs #11252.

This reduces the number of reads per second we make in the stream handlers
utilizing the DRB. It does this by waiting 20 ms for at least dev_read_size
bytes rather than 500 ms for min_read bytes. The device reads are larger
than the minimum read so this actually results in waiting a bit longer
under normal conditions while returning more quickly when we're not getting
data from the device. A win-win.
Reduce ThreadedFileWriter wakeups.

Fixes #11250. If there isn't enough data to actually bother writing
it to disk don't wake up the writer thread.
Fix duration display for in-progress variable-framerate recordings.

The last frame is used for calculating total duration, and since the
last frame is almost always beyond the end of the duration map,
requiring extrapolation based on the frame rate.  The problem was that
the frame rate for the current playback position was used, rather than
the frame rate for the current end of the recording, leading to
noticeable errors in duration calculation.  Instead, we can request
the latest frame rate from the recorder.

Thanks to David Engel for testing on a variable-framerate source.
Fix duration map logic for extrapolating to (frame=0,dur=0).
Configure the h.264 parser to identify only IDR keyframes.

This makes keyframes identified by "mythcommflag --rebuild" and
mythtranscode much closer to reality, though there are still
discrepancies compared to the recorder and raw ffmpeg.
Don't use same iterator for several different containers (cppcheck).
Restore file deletion code lost in [86d35376].

This also fixes the uninitialized iterator use introduced in the same commit.
mythccextractor: Fix teletext subtitle duration

Previously ProcessTeletext() didn't leave one subtitle behind.  This caused the
length calculation in IngestSubtitle() to never be performed, which meant that
the length was always set to the default value 750 ms.

Fixes #11081.
mythccextractor: Skip teletext page headers
mythccextractor: Update one header file missed in 018691f04
Fix signed/unsigned compiler warnings.