[finagle-http] Increase test coverage

Problem

Test coverage is thin in some parts of finagle-http.

Solution

More tests to increase coverage.

Result

Increased line and branch coverage in finagle-http.

                   line         branch
c.t.f.http         75% => 86%   29% => 35%
c.t.f.http.codec   76% => 94%   53% => 72%
c.t.f.http.filter  84% => 95%   (no change)
c.t.f.http.path    62% => 89%   16% => 40%
c.t.f.http.service 97% => 100%  (no change)

RB_ID=539092
[finagle-httpx] Remove deprecated code, shrink access

Problem

Deprecated code in http was copied over when we created httpx.
This is a good time to get rid of it (i.e. before people start
using httpx directly), and also shrink the access scope of
things that should be private to httpx/finagle.

Solution

Remove deprecated code and shrink access to internals.

Result

Leaner meaner httpx.

RB_ID=539076
finagle-mux/thriftmux: Remove socket close race / Drain downgraded sessions correctly

Problem

When a ThriftMux server downgrades a connection to thrift, we fail
to drain gracefully. There were two problems that contributed to this.
First, the downgrade pipeline didn't respond with an Rdrain so the mux
server dispatcher never moved into a draining state. Secondly, the transport
close raced against the server's final writes.

Solution

Synthesize Rdrain in thriftmux and serialize the close with the final write.

RB_ID=539596
finagle-core: deprecate InetAddressUtil.Loopback

Problem:

InetAddress.getByAddress(Array[Byte](127,0,0,1)) is outdated. Java 7 provides
java.net.InetAddress.getLoopbackAddress for loopback address.

Solution:

Deprecate InetAddressUtil.Loopback, use java.net.InetAddress.getLoopbackAddress
everywhere.

RB_ID=535601
3rdparty/BUILD: split up into package dirs - part 12

RB_ID=540490
TBR=true
finagle-thriftmux: properly scope downgrade pipeline

RB_ID=540672
finagle-branchmark: use `status` instead of `isOpen`

Problem

finagle-benchmark is not compiling because it used `transport.isOpen`
which is now removed in favor of `transport.status`

Solution

Replace the calls to isOpen with their new equivalent.

RB_ID=541720
3rdparty/BUILD: split up into package dirs - part 14

RB_ID=540856
TBR=true
Enable Scala 2.11 SBT builds for util-eval, ostrich, and finagle-ostrich4

Problem

We want to publish 2.11 releases of Finagle subprojects that depend on Ostrich,
which we have not previously built for 2.11 (because it has specs tests, and
because it depends on scala-json and util-eval, neither of which previously
worked on 2.11).

Solution

util-eval previously didn't work on 2.11 because `scala.ScalaObject` has been
removed since 2.10. This is fixed here. The bulk of this commit is Rodrigo
Lazoti's migration of Ostrich's tests from specs to ScalaTest (I'm not using his
pull request since the PR also replaces scala-json with Jackson, which we don't
want to do at this time to avoid breaking public APIs). This commit also
reinstates util-eval and the Finagle subprojects that depend on Ostrich in their
projects' cross-builds.

Result

util-eval, ostrich, finagle-ostrich4, finagle-example, and finagle-stress all
build and pass tests on 2.11 (from SBT) for the first time.

RB_ID=534127
finagle-sbt: exclude kestrelx from unidoc task

this is a temporary fix until the kestrel-x package
is removed after the netty4 migration is complete.

RB_ID=542284