Netty configurable exec

The primarily addresses issue #238 but also fixes a few bugs. Https was not propagating the maxChunkSize the same way Http wasn't. I made a note about factoring these a bit more so Http and Https didn't have to be separate classes. The mix of traits is also a little awkward. Will clean that up in a separate pull.

For the issue Daniel reported, we have 3 options since the new DefaultChannelGroup [requires an EventExecutor](https://github.com/netty/netty/blob/master/transport/src/main/java/io/netty/channel/group/DefaultChannelGroup.java#L69)

1. [SingleThreadEventExecutor](http://netty.io/4.0/api/io/netty/util/concurrent/SingleThreadEventExecutor.html)
2. [ImmediateEventExecutor](http://netty.io/4.0/api/io/netty/util/concurrent/ImmediateEventExecutor.html)
3. [GlobalEventExecutor](http://netty.io/4.0/api/io/netty/util/concurrent/GlobalEventExecutor.html)

Number 2 seemed like the best fit so I defaulted to that. I wasn't sure what resources are consumed simply by referencing the static instance so I opt to made the configuration pass a function that will return the EventExecutor to make it a little lazier on the evaluation until we start building the server bootstrap