Began reworking the network code

This commit devides SerialPacket into a series of different structures,
all decended from a common base class.

Using a union was not a good idea.
Split up the serial code, but had to gut it in the process

Since the contents of the packets are different than before, I decided to
gut the serialization code. I'll reimplement the internals soon.
Implemented the minor changes into UDPNetworkPacket
Fleshed out the serialization internals
Committing some comment tweaks
Merge commit '2c9b0fc' into develop (read more)

These changes split SerialPacket and the serialization code into more
managable chunks. I've also included some comment and error message
tweaks, just because they seem to fit into this merge rather than the
next.

I'm currently refactoring the server into more easily manageable modules,
and I might do the same to the client later. This is all to make
development easier, but I wonder if I'm just moving sideways instead of
forward.

This merge will not build.