[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.
Could you add a small test for this method? Seems like complex logic...