s3m: Check for file errors after seek
s3m: Check for file errors after seek

Since binifstream::seek() doesn't reset the Eof flag, a file
can show unexpected behaviour in readString() after hitting Eof
and then calling seek(). Resetting the flags by calling error()
might be enough, but let's just fail loading when a flag is
detected.

A check is also needed in the inner pattern loading loop to
avoid an endless loop when the pattern data is truncated.

adplug/adplug,adplug/adplug