linuxdvb: some slight tweaks to naming of translation routines

Also publicly exposed one translation routine as its required in the adapter
setup
linuxdvb: correct mistake in delsys enumeration caused by recent updates
linuxdvb: fix compilation on pre DVB API v5.10
linuxdvb: fix version for device enumeration support (fixes #2054)
cwc: don't give up on decode attempts (fixes #1844)
linuxdvb: fix typo in field name
settings: return NULL if no settings path is set
util: fix typo if #ifndef protection, spotted by decke
config: use local strdupa() routine for cross-platform compat.

Spotted by decke
http: possible NULL ptr on shutdown
util: added sbuf_read() to allow reading from FD straight into sbuf
mpegts: ensure scrambled streams are properly handled

If a scrambled has been seen on a "scrambled" channel all further packets
(within the subscription) MUST be processed through the descrambler else we
can end up with out of sequence packets causing CC errors. Relates to #1986
mpegts: reworking of the input threading

I have split the input threading in two. There is now a smaller/faster thread
responisble for reading data from the source device (file/socket/DVB/etc...)
and a potentially slower (though not too slow!) thread for processing.

This ensures that any minor delay in processing (potentially due to unexpected
effects during start/stop, or anything else!) do not unduly impact reading from
the source which could otherwise lead to loss of data.
linuxdvb: upated frontend code to use new mpegts_input API
iptv: update to use new mpegts_input API
tsfile: updated to use new mpegts_input API
subscription: update to changes in mpegts_input API

Really this should not be directly in here, as subscription code shouldn't
need any knowledge of the underlying systems. However its a backdoor into
the full mux.
main: added tsfile_done() call
mpegts: fix TS packet processing that could lead to lost data
linuxdvb: fix file processing to ensure data is passed and efficiently