[split] finagle: improve mux's handling of client disconnects

Problem

finagle-thriftmux has 2 exceptions that are leaking into the logs.

Solution

* In `SourceTrackingMonitor.handle`, change IOExceptions to be logged
  at Level.FINE, much like `ChannelStatsHandler.exceptionCaught`.
  This addresses one of the log messages (the one that happens to be
  at FATAL level).

* Add a new field to `Failure`, logLevel which allows callers to
  control the granularity of logging.

* In `c.t.f.thriftmux.Netty3` replace a thriftmux specific exception
  `UnexpectedRequestException` with a `Failure` that has its logLevel
  set to `Level.DEBUG`.

* In mux's `ServerDispatcher`, fix a memory leak in `receive`s
  handling of `Treq` and `Tdispatch` when the futures are `Throw`s.
  The entry was not being removed from the pending map.

Result

Less errant log messages in services deploying mux and avoid a
memory leak.

RB_ID=421547
[split] Update ADOPTERS.md

Adding our company, Reputation.com

Signed-off-by: Moses Nakamura <mnakamura@twitter.com>

RB_ID=422873
[split] finagle-swift: Add missing BUILD dep in test/scala

RB_ID=424337
TBR=true
[split] finagle-serversets: reuse ObjectMapper in JSON parser.

Problem:

A new ObjectMapper was being created for every znode parsed.
Because the ObjectMapper is thread safe and caches parsers,
creating a new one each time is rather costly.

Solution:

Move ObjectMapper out of def and into the object scope.
Clean up unused ObjectMapper usage in Entry.scala.

Result:

No change in external behavior, but parsing speed is increased
and fewer objects are created.

RB_ID=424181
[split] finagle-mux,thriftmux: explain why the files are named Netty3

RB_ID=424081
[split] finagle-mux: move Mux.scala into the correct folder

RB_ID=424221
[split] csl: updates changelogs to be current

RB_ID=422811
TBR=true
[split] finagle: Fix thrift-linter errors in thrift files.

RB_ID=424601
[split] Bump up set & get(com.twitter.finagle.kestrel.integration.InterpreterServiceSpec) timeout to 5 sec due to Birdcage failure

RB_ID=425961
[split] bind names lazily under Alt so we don't do needless lookups

RB_ID=424447
[split] finagle-thrift: fix up package name vis-??-vis file name

RB_ID=426951
[split] finagle-core: Add weighted address support to InetResolver.

Problem

InetResolver should support weighted addresses. Adding this
support will make it possible for ServerSet2, etc. to use it
as a DNS resolution backend.

Solution

- Update InetResolver to accept optional weights via a private
  function.
- Update InetResolver to parallelize DNS lookups
- Fix InetResolver to handle failed and negative resolution
  - UnknownHostException go to Addr.Neg
  - Other non fatal exceptions go to Addr.Failed(_)

Result

InetResolver will return weighted address, and should be a
bit faster. Also, errors result in Addr.Failed and negative
resolutions go to Addr.Neg.

RB_ID=416785
[split] attach Dtab.local to NoBrokersAvailableException in filter Problem:

This change

  https://reviewboard.twitter.biz/r/418243

attempts to attach the local dtab to NoBrokersAvailableExceptions (for
display in error strings) when path names are used, but fails in some
cases because exceptions are created in a different thread-local context
from where they are thrown.

Solution:

Set the local dtab on NoBrokersAvailableExceptions in a post-filter
instead of at the point they're thrown.

Result:

Dtab is attached to exception in all cases.

NB: This should be replaced with a failure source once
NoBrokersAvailableException has been converted to a Failure.

RB_ID=426731
TBR=true
[split] Add Scaladocs for all public exception classes in Finagle.

RB_ID=427791
[split] finagle-serversets: add latency metrics for ServerSet2.

Problem

We have ZooKeeper-level latency numbers for basic operations,
but we don't have specific numbers for the collective reading
of a path's member znodes and parsing of those entries.

Solution

Add stats, namespaced under that path + "vectors"|"entries",
for read_ms and parse_ms.

Result

Stats are available.

RB_ID=426899
[split] [finagle-core] attempt to add dtab stats to all clients and servers

Problem:
We want stats about dtab overrides for all finagle clients & servers that
support dtab propagation.

Solution:
Add DtabStatsFilter to the StackClient.endpointStack and StackServer.newStack.

Result:
Stats on non-empty dtab overrides are tracked for all clients and servers.

RB_ID=427037
[split] [finagle/wily] zipkin tracing for name resolution

Problem

We'd like to have zipkin data for wily name resolution. In particular,
we'd like to know the logical name requested for resolution, the
concrete name resolved, and the base and local dtabs.

Solution

Modify the DynNameFactory to take a tracing function, which will trace
either the bound name or the exception encountered during binding. I
don't super love putting it here, but it's the only place that has all
the necessary data.

I also had to move the Dtab.base ++ Dtab.local concatenation into the
dtabCache to make it easier to thread them through to the tracing
function.

I also considered having the DynNameFactory return both the Service and
the bound name; it was a little more clunky.

I'm not in love with the key names for the trace.

Result

Confirmed via println tracing that the traces are annotated as needed

RB_ID=426811
[split] [finagle-core] improve loadbalancer logging

Problem
Finagle logs a bunch of contextless warnings from the load balancer.

Solution

Include the destination name with load balancer logging.
Lower the priority of Pending-state logging.
Make verbing uniform.

Result

Better loadbalancer logging.

RB_ID=428693
NO-QUEUE=true
[split] Revert "finagle-core: Add weighted address support to InetResolver."

     This reverts commit 300a21ce1ef9c2aa622cf9fb6a2249dcf8a22666.

     Conflicts:
     	finagle/finagle-core/src/test/scala/com/twitter/finagle/client/StackClientTest.scala

RB_ID=429603
TBR=true
[split] Use HTTPS links when possible in Finagle adopter list and docs

RB_ID=429003