Added new DataTransferWritable class to fully separate reading and writing.
Modified DataTransferable class to implement both DataTransferReadable and DataTransferWriteable so that code can implement reading, writing, or both and have interfaces to represent all three.
Renamed DataTransferFactory to DataTransferableFactory to better represent its role and separated the methods to better support reading and writing of objects, also added a method to check if the factory is a wrapper for mutable objects or not (i.e. can an existing object  be reloaded from an input stream).

New files:
src/dataTransfer/DataTransferWritable.java

Renamed files:
src/dataTransfer/DataTransferFactory.java -> src/dataTransfer/DataTransferableFactory.java

Modified files:
src/dataTransfer/DataTransferReadable.java
src/dataTransfer/DataTransferable.java