Do not abort early if not all data is received within 25ms

This is simply 90f47553371e7778ead7354d33baed95b5b56188 applied to libmythprotoserver/filetransfer.cpp which is 90% identical to the mythbackend version.
Also re-sync the two files…
Add QUERY_FILETRANSFER REQUEST_SIZE command

This allows to query the current size of the file. Previously you could only get the size of the file from when it was first opened or had to issue a QUERY_FILE_EXISTS command that is significantly slower (as it requires a new connection to the backend)
Add RemoteFile::GetRealFileSize()

Allows to query the current size of the remote file. If the file isn’t opened for write by the backend, the size will be cached and the backend will be queried only once
Fix seek when close to end of program #2

It also fixes rewinding to the previous program on very low bitrate streams where it would jump to the end of the current program instead.
Fix calculation of read block size.

RingBuffer::CalcReadAheadThresh was always called at least once with rawbitrate set to 8000; which would initially set readblocksize to 128kB. As any further call to CalcReadAheadThresh would always use the maximum of readblocksize previously calculated, readblocksize would never be set to a lower value; and as such the special case for low bitrate streams would never be triggered.

We now recalculate the read block size only based on the bitrate value. Also change the block size default value so that it would always take less than 200ms to read such block (the reader code expects such duration and displays warnings otherwise)
Return the actual file size rather than the one when the file was first opened
Only expire LiveTV programs that are less than 30s and more than 5 minutes old

(was 2 minutes programs, 1 minute old)