Double file cache fix. Fixes ticket #15500

Double caching for e.g. dvdplayer has been broken for a long time. The actual problem for double cache was that when the cache was full, we still kept reading from the source which get disposed due to seek-requests which in turn also caused seek backs in the stream (which are really slow on e.g. http). This revealed itself while playing mp4 files with high a/v offset but generally this should improve performance (especially on slow systems) for all cached files. Furthmore we would block in WaitForData() when seeking just "over" the cache while it was full.

Would be great if this could be included for Helix.
Good idea, but I think the way you propose it is wrong: m_writeRateActual should be updated if NOT full imo and waiting for a seek event there is pointless as the next loop will just pick it up. What do you think about: https://github.com/arnova/xbmc/commit/91b2d9f88e7ef2b424dc990b8448128a0c03090d (you may want to diff it against master so it's more clear what changed).