Made cells autonomous services that listen for events; eliminated needless ticking of cells that have no players nearby; fixed an appearance bug

Overhauled the interface to the world handler. It converses asynchronously with a manager of zones. Chris Dickinson's 'spatial-events' uses an octree behind the scenes to search for a cell handler quickly when an event is emitted at particular cell coordinate. Aside from the performance gains from having to do less computations on average per server tick, these changes should allow us to take advantage of multiple cores on a machine in the future. Once we have a better way of serializing units (removing circular references, removing additional awkward fields after it is constructed from data), we should be able to fork our main process and instantiate cell handlers in child processes, transferring player connection descriptors and whatnot with UNIX domain sockets. 

I also fixed the 'bug' where your appearance does not update when you respawn.