Work on peer procs and client communications

Signal handlers are sort of scattered around the source files. There
might be a reasonable need to have a server struct which globs these
handlers along with other shared data amongst the various processes
that make up the server. All of those handlers and data will be defined
in server/main.c and the API will just accept a server as a parameter
and simply pull whatever handlers it needs from there. This should make
it a bit easier to configure and/or test a server.

This is a very rough patch with some spots for improvement. There may be
a need for a logging system to keep track of what happens, and when. For
now that'll be put on the backburner until this patch can be polished a
little bit.

Right now the only communication with the client is receiving commands
in the form of raw data from the socket. Once the services start being
implemented (disconnect requests, chat, online player queries, etc.)
there will be API functions which will accept the peer struct as a
parameter and perform various actions (if appropriate) based on the
request received from that peer.

In summary, this patch needs to be improved by creating structures
around the various signal handlers which are critical to server
functionality (peer process termination, login process termination,
server shutdown, etc.), to help keep the API flexible and easy to unit
test.