Fix b_deserialize_with_file not returning bytes read

Usage of fread was incorrect.  I expected fread to return
the number of bytes read, but it returns the number of
'items' read.  I was telling fread to read one item of
'data_size' bytes, instead of 'data_size' items of one byte
each.
Print error upon database parse failure