Make RecordStore::readBytes work if the length requested doesn't match the bytes actually read

Looks like this is the expected behavior.

I've also changed fs.read to always return an array, empty if nothing is read.