unit test for the whole serialization process

Interface Input DataInput anf DataOutput need to be revised, but I left them unchanged
My point is that during deserialization, all the class info and fields bytes we need can be read from the DataInput. Maybe we don't have to rely on any fields of PicklePot?