Make TSocketAddress use folly::IPAddress

Summary:
Step 1 of moving TAsyncSocket and friends to folly.

folly::IPAddress changes (can split these off if requested):
* isLoopback looks for a single address, as opposed to subnet
* For V6, isPrivate & isLoopback don't seem to check mapped addresses

TSocketAddress changes:
* Make union use folly::IPAddress instead of sockaddr struct.  external_ bool to tell if using AF_UNIX instead.
* manage the port and scope/zone info ourselves

@override-unit-failures

Overriding failures, can't get contbuild to finish all builds after several tries.  None of the failures look related

Test Plan:
fbconfig -r thrift
fbmake runtests
fbconfig folly/test:network_address_test
fbmake runtests

Reviewed By: simpkins@fb.com

Subscribers: snaptu-diffs@, trunkagent, hphp-diffs@, njormrod, fbcode-common-diffs@, doug, ruibalp, ps, alandau, bmatheny

FB internal diff: D1479365

Tasks: 3658665
Compression fix for TApplicationExceptions in generated code

Summary: Run transform() before sendMessage

Test Plan:
Tested locally with a client that sends a non-existent method
name with compression enabled.
Before: got an exception "Error while zlib inflate"
After: got at exception "Method name methodx not found"

Reviewed By: davejwatson@fb.com

Subscribers: scottf, ruibalp, alandau, bmatheny

FB internal diff: D1550687

Tasks: 5141236
fix build warnings

Summary:
unused vars, redefinition warning

Looks like the TAsyncServerSocket and TSocketAddress were already fixed in hhvm-third-party, but never ported to fbcode.  The other couple I can probably remove from the hhvm build, but fix them anyway.

Test Plan: hhvm build, don't see warnings

Reviewed By: alandau@fb.com

Subscribers: doug, alandau, bmatheny

FB internal diff: D1553156
Bump version to 4:0