[swift2thrift] Treat ByteBuffer (in addition to byte[]) as binary
Add client event handlers
Add client stats on top of client event handlers
Upgrade to airlift 0.78-SNAPSHOT
Reuse same protocol/transport for all client calls on a connection
Add some additional config options to ThriftServerConfig

Includes:
- set a custom executor
- set maximum # of connections
Rename client-idle-timeout to idle-connection-timeout, and set a default value
Add config for accept backlog
Allow binding custom thrift codecs by class
Add bindings for ThriftCatalog and ThriftCodecFactory

This is mainly to allow binding of custom codecs that need a ThriftCatalog injected. Was trying to get this catalog via injecting a ThriftCodecManager and using codecManager.getCatalog(), but this doesn't work if you want your bound custom codec to be in the internal codec set used to create the ThriftCodecManager (because it creates a dependency loop).
Merge pull request #106 from andrewcox/custom-codecs-by-class-2

Add bindings for ThriftCatalog and ThriftCodecFactory
Stop executors even when server was never started
Merge pull request #107 from andrewcox/clean-shutdown

Stop executors even when server was never started
Code cleanup: consolidate calls to the transport's flush() in client code

This also fixes a header protocol bug, because flush must be called on the output protocol's transport (which may be a wrapper around the TChannelBufferOutputTransport that was being flushed before this change)
Code cleanup: move setMaxFrameSize next to getMaxFrameSize in ThriftServerConfig
Update to release 0.78 airlift and 0.8.0 netty
[maven-release-plugin] prepare release swift-root-0.8.0
[maven-release-plugin] prepare for next development iteration
Move to latest snapshot dependencies
Add @ThriftEnum annotation

This allows a java enum corresponding to a thrift enum to be annotated with an indication of what the corresponding name for the enum should be in the .thrift file