[cmyth] Fix crash in cmyth_connect_addr and cmyth_reconnect_addr

Fix crash caused by incorrect format string parameter ordering with
cmyth_dbg/vsnprintf. Adapted log message.

Trace:
 0  0x00007fdcaa025040 in _IO_vfprintf_internal (s=s@entry=0x7fdc31877420,
      format=<optimized out>, format@entry=0x7fdc85dda4b8 "%s: connect failed
      on port %u to '%s' (%d)\n", ap=ap@entry=0x7fdc318785d8) at vfprintf.c:1655
 1  0x00007fdcaa0e7c00 in ___vsnprintf_chk (s=0x7fdc31877597
      "cmyth_reconnect_addr: connect failed on port 1610688128 to '000",
      maxlen=<optimized out>, flags=flags@entry=1,
      slen=slen@entry=18446744073709551615, format=format@entry=0x7fdc85dda4b8
      "%s: connect failed on port %u to '%s' (%d)\n",
      args=args@entry=0x7fdc318785d8) at vsnprintf_chk.c:63
 2  0x00007fdc85dbc5e5 in vsnprintf (__fmt=0x7fdc85dda4b8 "%s: connect failed
      on port %u to '%s' (%d)\n", __n=<optimized out>, __s=<optimized out>,
      __ap=0x7fdc318785d8) at /usr/include/x86_64-linux-gnu/bits/stdio2.h:77
 3  __cmyth_dbg (level=0, fmt=0x7fdc85dda4b8 "%s: connect failed on port %u to
      '%s' (%d)\n", ap=ap@entry=0x7fdc318785d8, ctx=0x7fdc85ffa160
      <cmyth_debug_ctx>) at ../include/debug.h:60
 4  0x00007fdc85dbc777 in cmyth_dbg (level=level@entry=0,
      fmt=fmt@entry=0x7fdc85dda4b8 "%s: connect failed on port %u to '%s'
      (%d)\n") at debug.c:114
 5  0x00007fdc85db9a38 in cmyth_reconnect_addr (addr=0x7fdc24000b90,
      conn=0x7fdc60017638) at connection.c:371
[mythtv-cmyth] Return shared pointers in MythScheduleManager

In the current implementation, MythScheduleManager holds the upcoming
recordings and recording rules in data structures that use smart
pointers. However, these were always passed as raw pointers to the
outside (pvrclient-mythtv).

With this patch, the API of the MythScheduleManager is changed to always pass
data within smart pointers.

In rare cases, PVRClientMythTV::GetTimers() gets called while
m_scheduleManager->Update() is still running. Update() cleared the list
of upcoming recordings which deleted all MythProgramInfos since the only
reference was held from the list. This could lead into GetTimers
accessing freed memory.

Trace:
0x4809f534 in cmyth_proginfo_start () from
    /usr/lib/xbmc/addons/pvr.mythtv.cmyth/XBMC_MythTV_cmyth.pvr
0  0x4809f534 in cmyth_proginfo_start () from
    /usr/lib/xbmc/addons/pvr.mythtv.cmyth/XBMC_MythTV_cmyth.pvr
1  0x48076ba8 in MythProgramInfo::StartTime (this=<value optimized out>)
    at src/cppmyth/MythProgramInfo.cpp:147
2  0x4805ab9c in PVRClientMythTV::GetTimers (this=<value optimized out>,
     handle=<value optimized out>) at src/pvrclient-mythtv.cpp:934
3  0x004dc6b4 in PVR::CPVRClient::GetTimers(PVR::CPVRTimers*) ()
4  0x004ebaec in PVR::CPVRClients::GetTimers(PVR::CPVRTimers*) ()
5  0x00bdb668 in PVR::CPVRTimers::Update() ()
   0x00bb5830 in PVR::CPVRManager::ExecutePendingJobs() ()
7  0x00bbae00 in PVR::CPVRManager::Process() ()
8  0x00ebc39c in CThread::Action() ()
9  0x00ebce30 in CThread::staticThread(void*) ()
10 0x405b2a90 in start_thread () from /lib/libpthread.so.0
11 0x41226fb8 in clone () from /lib/libc.so.6
[mythtv-cmyth] Changelog for v1.8.13
Merge remote-tracking branch 'upstream/master'
Merge remote-tracking branch 'upstream/master'
[mythtv-cmyth] Start development v1.9.14
[cmyth] Return distinct channel rows

The current version of the query can return duplicated rows. It aggregates
the data for distinct values of service_id.
[mythtv-cmyth] Provide correct ids for merged channels

Channels are merged by the identifier (Number, CallSign). XBMC PVR therefore
only knows about the merged channels.

This adapts the timers and channel group members to always contain the channel
id of the merged channel.

Adds function FindPRVChannelUid() to return the merged channel id for channel.