[FLINK-994] Replaced DataInput and DataOutput with DataInputView and DataOutputView

I replaced the DataInput and DataOutput parameters by DataInputView and DataOutputView in the IOReadableWritable interface. Thus, I also added wrappers for DataInputStream, DataOutputStream, ObjectOutputStream and ObjectInputStream to make them compatible with the new read and write methods.
Should this be `if (bytesRead < len)`