channels: started work on a significant update to the way channels are managed

Channels to services will be N-N, to allow for some future options.

Also reworking the service mapper to get it working with the new code.
debug: added a proper pthread_mutex ownership check in lock_assert()

this is conditional based on a test run from the configure script, as this
type of test is certainly not 100% cross platform compatible.

However its very useful to have a true check of lock ownership rather than
the rather arbitary check that "someone" holds the lock.
mpegts: added the ability to delete muxes
mpegts: added deleting of entire network
mpegts idnode: updates to idnode for more resopsive list types

input network select is now dynamic and will update when network names are
changed
linuxdvb: some additional trace debug for S2 commands
linuxdvb: fix LNB frequency processing
idnode prop: tweak to get config to load in the right order.
idnode: added concept of class registration

this allows a class instance to be looked up by name, and in turn all
instances of that class can be found.
mpegts linuxdvb: use new class lookup for satconf network lookup