Fix RemoteFile::GetRealFileSize() caching.

The timer was never started, and as such the function would always return the cached value
Cache for 500ms the result of RemoteEncoder::GetFramesWritten()

This function queries the backend, and when seeking several calls could be made to it which blocks the GUI thread. Cache the value for 500ms in order to alleviate the issue
Fix forwarding in liveTV or in-progress recording

Under some circumstances, it was not possible to seek forward in a current recording. The file of the size may not always have been up to date.
Make sure that when we attempt to seek past the end of the file, we get an up to data file size.