Began segmenting the server's code

I've created a separate branch for this because it's gonna be a bitch to
get compiled, and then I'll still have to ensure that the client & server
are work together correctly.

This build does not compile.
I guess it was easier to compile the fragmented server than I thought
Merge branch 'fragmented-server' into network (read more)

I've divided the server's source into several different files. This should hopefully make it a bit easier to manage.

Please note that I do know there's an exception being thrown by the client
in this build.