DTVRecorder: buffer up each payload until we know if the payload is a
keyframe.

Especially with H.264, we can be several packets into a payload before we
know if it is a keyframe or just a frame or something else.  Always buffer
the packets of a payload until we know what we are doing with the payload.

If we need to switch ringbuffers, we now do it so the new file will start at
the beginning of the payload holding a keyframe.  Each file will also start
with a PAT/PMT if the "recorder" calls for it.
(cherry picked from commit 87a15e1ce40d81058ff221308d666d73b1517ff2)

Conflicts:
	mythtv/libs/libmythtv/dtvrecorder.cpp
	mythtv/libs/libmythtv/recorders/iptvrecorder.cpp
	mythtv/libs/libmythtv/recorders/iptvrecorder.h
Cleanup some useless "discontinuity detected" messages following 87a15e1ce

Closes #11328
(cherry picked from commit efc1e46a8a2d913a8070483178ca46293f0a4423)