mpegts: rework of the PID handling code

This should overcome the current issues with EPG grabbers stealing data
but also, IMO, is a better approach.

However it did require some reworking of lock semantics.
mpegts: ensure that full mux subscription works as expected.
mpegts: minor mod to debug to make it less confusing.
Merge remote-tracking branch 'origin/pr/295' into feature/dvb-rewrite
webui: slightly horrible hack to get dialog to disappear on save
subscription: fix handling of service subscriptions on failed services
mpegts: fix possible list corruption when unsubscribing from mux
webui: fix display issue for boolean values
mpegts: some extra debug
mpegts: fix redundant and potentially fatal call to mux stop
linuxdvb: ensure that inversion is set to AUTO
wrappers: remove use of pthread_setname_np

This is not supported by ulibc, however since prctl is part of standard
Linux kernel since 2.6.9, I've added a thin wrapper around thread startup
to call that method from within the thread.
mpegts: actually fix the PID closing crash bug!
service: some additional fields as per user request
service: service listing was broken

I think it was quite possible for two services on the same multiplex not
to share the same tuner. Also I wasn't convinced about how it kicked running
services.
mpegts: allow service stop to be called on inactive services
misc: remove redundant code