Don't block when receiving. Notify players better

Change socket to non-blocking since we now need to send out pending
packets even when not receiving anything. Also add pending packets for
existing players when a new player joins.