[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.
Yes, you are right that's a bug. I'll add the test cases.