iptv: fix lock ordeirng bug
mpegts: pass certain PIDs through to the TS muxer

Note: this will probably break the muxer atm, as its not expecting
those packets and will still mux in its own. But its just a start.
mpegts: remove stray printf!
Merge relevant parts of PR#255 to complete the implementation of PAT/PMT passthrough, with the option of rewriting the PAT and PMT so the PAT only contains a reference to the included service, and the PMT only contains references to the included streams.  This still needs more work - the PMT PID is being passed to the muxer as zero the first time a channel is streamed after tvh starts, and the PMT rewrite code fails if the PMT spans multiple TS packets
Remove a debugging printf
Clean up handing of unsupported PMT/PAT formats
mpegts: ensure PMT PID is stored and that on update service restarts
mpegts: don't pass unecessary stream specific PIDs for other streams

This mostly affected the PMTs which were all passed to any service, rather
than just the specific one for the relevant service.
muxer pass: some re-org, UI fixup and general tidying of PMT/PAT rewrite

I've made the PAT/PMT rewriting indepedently configured, currently I think
the multi-packet PMT is a limitation we need to look into.
Revert to using old PMT generation code in the PMT rewrite case.
muxer pass: remove stray printf