SrmRideFile: don't assert() on bad file version

replaced assert() of file version with graceful error handling.
SrmRideFile: handle EOF while reading chunks

code was blindly trusting datacnt... and kept reading past EOF. That's bad
as datacnt occasionally isn't matching the available data (overflow,
corruption, ...)
SrmRideFile: handle datacnt overflow

datacnt is 16bits so it overflows easily for large files (9 hours with
0.5sec recint).

I've also seen datacnt and block sum to be inconsistent in other cases.

To handle this more graceful, we're now taking the max of both counts and
let the EOF detection do it's job when one of them is wrong.

We do have to use one of these limits as some SRM files have junk after
their last chunk (so, just reading chunks till we get EOF retunrs this
junk, too).
Merge pull request #964 from rclasen/srm-overflow

SrmRideFile fixes