Add remote address as in nifty's ClientRequestContext

Summary: This will be used in fbtrace support
Fix ClientRequestContext

Summary: ClientRequestContext is moved from nifty-core to nifty-client
and this just makes it work.
Maintain request context in asynchronousInvoke

Summary: Listenes are fired on different thread for an async invoke. Save/load the thread local request context so the event handlers relying on it will work.
Save/load request context when swift invokes method.

Summary: When the method being invoked returns a ListenableFuture this callback could be run in some executor thread not managed by swift. This ensures the thread local context is installed correctly when the callback is called.
If the method spawns threads during the method invocation, this doesn't help. It needs to use a customized executor that loads/saves request context.
[swift] return null if unknown enum value is passed

Summary:
Allows unknown enum values to not cause exceptions in parsing.
Fixes reflection codec for required values.

Test Plan: mvn clean install

Reviewers: alandau, haijunz, andrewcox

Reviewed By: andrewcox

Subscribers: paramr, pickett, andrewcox

Differential Revision: https://phabricator.fb.com/D1618817
Add BINARY in the built-in types.
[swift] omit unknown enum from collections

Summary:
Following up on comments from D1618817. This will omit the unknown values from
collections

Test Plan: mvn clean install

Reviewers: alandau, pickett, haijunz, andrewcox, paramr

Reviewed By: andrewcox

Subscribers: andrewcox

Differential Revision: https://phabricator.fb.com/D1626427
Add support for primitive array types

Add support for boolean[], short[], int[], long[] and double[]
Fix handling for byte[] fields
Add methods to change ThriftClient timeouts
Properly handle swift method invokation interruptions
Update dependency versions for release
[maven-release-plugin] prepare release swift-root-0.14.0
[maven-release-plugin] prepare for next development iteration
Move to latest snapshot nifty/swift dependencies
Add throwable message to serialized internal error response
Add a ThriftServerConfig to set the queued responses per connection limit
Replaced deprecated class TimedStat with TimeStat
Created a way for ThriftClientManagerConfig to configure the number of worker threads
Cache Java type -> Thrift type conversions

This improves serialization and deserialization perf a lot:

```
                                -------- old --------   -------- new --------     ------ win % ------
Benchmark                          ns/iter      intvl      ns/iter      intvl      ns/iter      intvl
=====================================================================================================
deserialize_Empty                      700         12          106          1          560       1100
deserialize_SmallInt                   756         10          133          2          468        400
deserialize_BigInt                     782          9          155          2          404        350
deserialize_SmallString                822         19          202          3          306        533
deserialize_BigString                 9152         53         8450         99            8        -46
deserialize_BigBinary                 3011        189         2137         24           40        687
deserialize_LargeBinary            5289470    3173098      5285250    3260233            0         -2
deserialize_Mixed                      874          8          269          3          224        166
deserialize_SmallListInt              1010         19          386          4          161        375
deserialize_BigListInt              304536       6177       309774       3594           -1         71
deserialize_BigListMixed           1848336      13685      1942206     119850           -4        -88
deserialize_LargeListMixed       224981060   83408124    221868657   75328617            1         10
serialize_Empty                        903         17          131          3          589        466
serialize_SmallInt                     961         14          173          3          455        366
serialize_BigInt                      1039         11          240          4          332        175
serialize_SmallString                 1145         22          301          4          280        450
serialize_BigString                  51215        208        49916        467            2        -55
serialize_BigBinary                   5595        125         4788        132           16         -5
serialize_LargeBinary              7592627    6189458      7723409    5639016           -1          9
serialize_Mixed                       1200         18          425          6          182        200
serialize_SmallListInt                1322         31          516          9          156        244
serialize_BigListInt                253678       1988       249520       3737            1        -46
serialize_BigListMixed             2424505      36120      2408576      22974            0         57
serialize_LargeListMixed         269418097   69367304    268303289   70283444            0         -1
```