descrambler: improve the ECM handling

- for constcw (CAID 2600) do not expect any key change
- when the stream is broken, try to issue new ECM request

Note: The TS data might be wrong (which may cause the ECM late
situations). This patch tries to ask for new ECM to be sure
that the keys are correct. The constcw specific code is just
an optimization. The new ECM request is not required for it.
add ERRNO_AGAIN() macro to check the interrupted / no data states correctly
muxers: handle ECONNRESET errno as end-of-stream
epggrab: test code for only tuning muxes that require it
epggrab: fix the missing variable initialization and NULL dereference
epggrab: eit - fix the shutdown sequence
epggrab: fix a memory leak for ota mux
epggrab: improve the tune callback, do tsid check for opentv
epggrab: otamux - save linked services, too
epggrab / eit: add automatic linked service removal
epggrab: ota - move service lists from ota to map

- also use service filter for uk_freesat / viasat_baltic
epggrab: increase default timeout to 600 seconds (10 minutes)
epggrab: ota - remove timeout / interval per module / per ota mux config
cron, internal epggrab: add multi-line cron support for internal epggrab
epggrab: ota - change the subscription scheme

- now all muxes are handled continuously in one queue
- the queue can be kicked using the start time
epggrab: ota - add multi-line cron scheduler

- the initial EPG scan can be turned off in webui
- the OTA mux timeout is configurable through webui
epggrab / mpegts mux: allow to force EPG scan per mux
webui: epggrab - do not collapse panels by default
mpegts mux dvb: remove the migration code (it's in src/config.c)
epggrab: migrate config in src/config.c