Tidy configure
Socket descriptors can be reused *immediately*

Since we don't synchronize the deletion of all references to FDs across playlogger.lua and websocket.lua it’s quite simple for playlogger to start writing to an FD that now points at a different socket.

One option is not to select on the playlogger FDs, but we *should* select on all sockets we plan to keep open in case they want to talk to us. So instead we have to be cautious.

Note that this code is now sucky. We'd like to one day make it less shit.
Allow connections that aren't from localhost
Get perror logs in Console.app in Cocoa GUI
Allow separate VERSION_CODEs per OS

We keep the same overall version for both Win32 and MacOS *but* we allow the OSs to skip versions, and then determine the upgrade-VERSION_CODE independently. This means the VERSION_CODE may be less for a platform that didn't get an update. Currently Mac is 3 and Windows is 2.