DefaultSaveFileManager::loadTimestamps() was parsing strings from the
timestamps file by checking for end-of-stream after using the byte it
attempted to read. This worked because ReadStream::readByte() returns 0
on error, but that's undefined behavior with a FIXME to remove.
This bug was exposed by the recently added warning when 0 is appended
to a String: ab06f27d4349741945c3d0763a717c118a9e1cbc