Get rid of a ThriftServer constructor

There were too many. Instead of providing every possible
combination (and until moving to using a ThriftServerBuilder), I'm just
providing static constants DEFAULT_* that you can pass if you don't have
a specific value in mind for one of the parameters of the full constructor.
Expose nifty's task expiration timeout in swift
Add config option to set max requests

This allows you to set the max queued requests (and reject new requests when the queue is full), without having to use a custom executor
Add @ThriftField annotation to generated union getter
Fix build after nifty-client changes
Update jetty and servlet-api versions used for http tests
Update airlift and jmxutils versions
Resolve conflicts with commons-logging and jcl-over-slf4j classes
Update dependency versions for release
Bump version to 0.14.0-SNAPSHOT
Update to nifty/swift 0.14.0-SNAPSHOT dependencies
[swift-generator] skip un-generate-able constants

There is a bug that the swift generator cannot handle certain kinds of constants (e.g. maps that have enums for key or value type). This bug will take a bit of restructuring in the generator to fix properly, but some of the users of the generator don't actually need those constants generated at this point, they just need the generator to keep going instead of break and fail to generate any further types. This change does that.
Catch and log runtime ST4 errors (not just loader errors)
Use the right name for field annotation template

This was breaking union generation
Fix swift2thrift service generation

This fixes a bug that swift2thrift won't work if you don't explicitly provide a non-UNSPECIFIED requiredness on all @ThriftField annotations on all parameters in your service. Though the @ThriftField annotation default for 'requiredness' is UNSPECIFIED, for a method parameter, this should resolve to NONE.
Separate protocol handling for STRING/BINARY types

Some protocols (e.g. TJSONProtocol) use different encodings for string
and binary data, so treating them as the same type is incorrect.
Add missing @Test annotation to test class
Call TProtocol.readFieldEnd after reading fields

Some protocols (e.g. TJSONProtocol) depend on readFieldEnd being called
to function correctly, but we were only calling it when skipping fields,
not when reading them normally.
Test TJSONProtocol with swift codecs

TJSONProtocol requires stricter adherence to the rules of TProtocol
usage, and some of these rules were broken until recent checkins, but it
was going unnoticed because we only tested TCompactProtocol. Now that
the TProtocol usage is fixed, we can add tests for TJSONProtocol to
check for regressions.
Add UTF8 encode/decode roundtrip tests