The ByteDecomposable class returns, this time with a writeTo method and
a DataOutputStream. Two new utility classes,
ByteBufferBackedInput/OutputStream, have been added to allow for
pretending that a ByteBuffer is a stream. The following commits will
phase out NetworkSendable and the current implementation of
NetworkPacket in favor of ByteDecomposable.
From the ashes come two more utility classes, which mimic much of the
functionality of ByteArrayBuilder - however, these actually throw
exceptions, making exception catching stuff necessary but also making
error finding easier.
Added ByteBufferBackedInputStream.skip(long).
ByteDecomposable now writes to an ObjectWriter.
PacketUtils now finds the size of a ByteDecomposable rather than a
NetworkSendable and uses UTF encryption for finding the String length.
AttributeList now fully supports the new IO system (yay), and Main has
been updated to show off this functionality.