Check cached files for corruption

Upon file load, this commit checks the duration of the cached
version of the file using ffmpeg. If this duration is less than
95% of what SoundCloud tells us to expect, we redownload the
file.