NIOEventLoop and high cpu usage

Also, switch to G1GC. The concurrent-mark-sweep garbage collector is horrible. Start here: