WebUI: Correct 'All' paging in idnode grids
epg: more robust 32-bit object ID handling

Changes:
  - store the last id number to the epgdb file
    (the purpose is to reuse the id numbers as last as possible)
  - use RB tree to track id numbers (faster lookups)
  - skip invalid zero IDs (++_epg_object_idx)
  - skip used IDs (rare, but possible)

The goal is to handle correctly the 32-bit ID wrapping (++_epg_object_idx).
DVR: entry - fix do not reschedule member typo, fixes #2343
epg: remove unused argument for epg_broadcast_find_by_id(), replace atoi() with strtoll() for 32-bit numbers
tvhlog: fixed thinko, add closelog() call
tcp: some indentation and coding style cosmetic changes
http streaming: show the HTTP streaming connections in the webui status tab
ACL, HTSP, HTTP: Added streaming connection limit per user
WEBUI: Add possibility to cancel HTTP and HTSP streaming connections
htsp server: add dead-queue-check (for further analysis)
htsp server: fix missing tcp_connection_land() call, caused memory corruptions
tcp: little improvements in the tcp_connection_launch()
htsp server: timeshift must be destroyed before subscription queue flush, fixes #2351
ACL: add full rights copy for tickets to resolve connection counting, fixes #2349
Initial schedules direct json support
updates
remove duplicate episodes from request
fix memory leaks
Grab all station data with 1 request instead of 1 per station
Set CURLOPT_WRITEFUNCTION in get_status and get_stations.