dtvrecorder: Don't try to buffer frames for audio-only streams.

(cherry picked from commit efc1e46a8a2d913a8070483178ca46293f0a4423)

   Cleanup some useless "discontinuity detected" messages following 87a15e1ce

(cherry picked from commit 0d9312df1dd3ed2a2da40edce1bbaae5b90c9944)

    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)