Evented executor main loop

This increases performance and opens the door to many improvements in client-server communication.  Some possible directions are indicated in the comments.

I've also split out the server function of launching executors into a separate thread.