Query stream performance

This PR greatly increases the maximum throughput of large query responses. Tests suggest a 5-10x
improvement -- making it substantially faster than the previous jetty version.

- Bundle -> String encoding is now performed in application threads
- String writes are now buffered before writing to parts of the pipeline that run in netty io threads
- String -> ByteBuf encoding is also now performed in application threads
- Abstraction of bundle encoder implementations has been modified to make the subclasses simpler