Replaced d_client with n_main; netgames are untested but singleplayer works

Removed static limit on commands
Removed HAVE_NET
Replaced references to D_TryGetWad to N_GetWad, which is a stub for now
Fixed bug in CBuf where I was returning void ** instead of void * from the *Get*Slot functions
Fix main loop problems, fix demo problem

If movement is smooth and the window is focused, the renderer should
refresh as often as possible.  If the OpenGL renderer is used, the
renderer should refresh as often as possible no matter what.  I'm not
even sure window focus should make a difference at all (in the non-GL
case).

There were various problems reading commands from player command
buffers, all fixed now (seemingly).

I'm still wondering when to only use 14 bytes for game option arrays in
savegames/demos and when to use 64 bytes.  It seems like never?

Updated TODO; getting closer!
Don't build commands as a server
Be smarter when clearing peer data after servicing the network w/ ENet
Add a better error message when an attempt to listen on an address fails
Don't spawn a window with -nodrawers or headless mode
Revamp main game loops; send setup to new clients

The old game loops were built around the old netcode; now they're
updated for the new netcode and more explicit.

Added a "graphics_initialized" flag so doom_printf can print to the
command-line.

Moved "maketic" to be internal to G_BuildTiccmd.

It turns out that ENet stores hosts (in ENetAddress.host) in network
byte order (big endian), so scattered `doom_b32` around to fix this when
printing out peer information (etc.).

Netcode marches on; servers now send setup info to newly-connected
clients.
Fix some ENet API misunderstandings

ENet doesn't need you to call enet_packet_destroy after
enet_packet_send, also using NO_ALLOCATE, then enet_packet_send, then
M_BufferZero sends a bunch of zeros to the peer.  I fixed this by
removing the flag, but I think I'll move the M_BufferZero to just after
the enet_host_service call, that way I can still use NO_ALLOCATE

Added the UNSEQUENCED flag to packets sent from the unreliable buffer; I
thought this was implied but it is not.

Removed debugging stuff from last commit from n_main.c
Break out network buffer flushing into a static function for clarity
Servers don't eat CPU now; working on client setup
Working towards clients & servers communicating.

Updated TODO.md

Only pop commands from a player's command buffer if they existed in the
first place

Added doom_pprintf to print message to a specific player (kind of)

Added a clientside local command buffer, which is necessary because
there's a difference between the commands run locally and the commands
the server has acknowledged receipt of.

Wasn't initializing the network states module.

Wasn't sending the sync type in the setup message.

Player commands must include the playernum of the originating player,
because they are relayed (in command sync mode) by the server.

Copy commands from the network buffer directly to the command buffer
instead of using an intermediate, temporary command.

Fix a dumb copy/paste bug in n_proto.c in COMMAND_CLIENT_ONLY define.

Fix n_state; current_game_state is not a pointer and everything within
that module takes its reference.  Clearly written at 2am ;)

Players are fully serialized and deserialized now, instead of running a
memcpy.  This was necessary because commands needed to be serialized,
and they won't survive a memcpy.  Additionally memcpy'd data isn't
portable, so eventually all of these will have to be converted.
Work on client/server synchronization

Update TODO.md

Removed nm_playercommandreceived message; it wasn't strictly necessary
and its purpose has been subsumed by the overall sync design.

Servers now send all needed commands to each client in the
nm_playercommands message.

Update the tags
More work on sync

Try and use __func__ appropriately

Update tags
Still working on sync; currently chasing down delta creation problems
Still working on sync; design is finished though
Sync implemented; now for the debugging :)
Typo
Update TODO.md
Getting sync to compile

Remove several compiler warnings in several places
Remove all compilation warnings (whew!)
Players now load state and connect.  Prototype debugging and testing may now begin!
Chasing down problems with delta generation and application

Fix problems in m_delta due to misunderstanding how libxdiff works

Initialize command buffers for all players, playeringame notwithstanding

Rework type size validation in n_pack because negative values caused
problems