Completely rewrote everything involving networking. No longer is the
game a weird, flaky variation on the peer-to-peer model, but rather a
solid example of the authoritative server. All actual game state/logic
has been moved to its own class (SharedState), which the client uses
for singleplayer and local multiplayer, and the server uses for
networked multiplayer (which is now much more robust).