Fixed date parsing from a long string value.
Changed read() call to readFully() to make sure we get all of the bytes
that we expect.
Fixed null checks, removed some unused null fields in some classes, and
fixed classes that override equals() incorrectly.