[cmyth] Connect to the correct host in cmyth_conn_connect_file

The function cmyth_conn_connect_file must establish the data connection
to the same host as the control connection. Otherwise we might
send REQUEST_BLOCK on the control connection to host A while
expecting the data packet from host B.

For recordings made on a different (slave) backend, the old code
connected the data socket to the host given in the proginfo (slave)
whereas the given control connection could be established to a
different host (most likely the master backend).
In those cases, REQUEST_BLOCK was sent to the master backend,
but the data was expected to be received from the slave backend.

The new code enforces control and data connections on the same host.
A file connection to a slave backend can be established by first
creating a control connection to the slave backend and then calling
cmyth_conn_connect_file using that control connection.
[mythtv-cmyth] Dedicated control connection for recording playback

This creates a dedicated control connection for recording playback.
The current implementation will always request the stream from the
master backend.

Future implementations should adapt to MythTV's ProgramInfo::GetPlaybackURL
and first try to read the file locally and as a fallback play it from
the slave it was recorded on.
[mythtv-cmyth] Recording file: Release control connection on close
[mythtv-cmyth] Fix different buffer size depending of  backend connection type.

- For chain, file and path, buffer is only used to receive backend response of query ANN FileTransfer. So 64 bytes is large enough. This value is defined by RCV_BUF_DATA_SIZE.
- For artworks downloader, the buffer size is fixed to 32000. This value is defined by RCV_BUF_IMAGE_SIZE.
- For control, buffer is fixed to 32000. This value is defined by RCV_BUF_CONTROL_SIZE.

Conflicts:

	addons/pvr.mythtv.cmyth/src/cppmyth/MythConnection.cpp