tvhlog: move output to a thread

I'm hoping this will give a small performance boost with heavy levels
of trace. This is because I'm finding that data appears to be missing
when testing EIT, but to test I need to enable debug and I think that
debug may be part of the problem!
(cherry picked from commit d59421f91896fe30cd6ba6507f90ad0766903ae3)
mpegts: fix debug display bug and event firing
(cherry picked from commit 293542812ac05ee6b806444b9def7212f28ae9b2)
mpegts: add the concept of a mux level subscription

This is necessary so that things like EPG grabbing can make
subscriptions that take precedence over initial scan but not
over standard subscriptions.

Will also be used for the debug mux dump from UI feature.
(cherry picked from commit 35a58bdf85008b819504e86e26f1072f79e79af3)
linuxdvb: ensure that PID filters are not installed early

I thought this was causing stale data to enter the pipelines, turns
out this was not the case (it was just a NIT entry for a mux that
didn't exist colliding with one that did).

However still a useful mod.
(cherry picked from commit a7c7b76e8f8f10ece3af3132964c8afd19b26391)
mpegts: allow out of sequence table processing

also corrected invalid length check and added lots of extra debug
(cherry picked from commit 1c40381adb4f95cae3bb7d366d56bf68c3c06a9e)
epggrab: complete update to OTA mux and EIT

Still haven't touched OpenTV and there are several hacks in here for which
a proper solution is required.
(cherry picked from commit 9212120eb4c92aacb0d9cb75624961bf27e2ef5a)