Rearranged the packet and serial code to make more sense

This mostly just reimplements the best parts of the discarded branch:

> discard-encapsulated-packets

There may still be some work needed.
Implemented the serialization switch statement
Merged network changes from branch 'develop', read more

After several days of trying, I decided to discard changes to the networking system:

> discard-encapsulated-packets

Instead, I've moved the packets and specialized serial functions into the same directory, and renamed them accordingly. The serialization code is only accessed by UDPNetworkUtility.

I've also removed the combat and enemy code from the network system, and reduced the number of packet types in SerialPacketType. These changes should make it easier to add more features in the future.