Manage player logout and cleanup a bit better

Rather than dropping the client immediately, keep our reference, and
allow other clients to properly remove it from any local lists.
Properly drain and free the waypoint queue on clear
Track the world's state using world.c
Serve a null file for unknown requests

Better than just ignoring the request and letting the client spin..
Keep a server local buffer for io operations