[split] util-core: Add deprecation of RingBuffer to changelog

RB_ID=481739
[split] util: Add self-type to `Promise.Detachable` and augment Promise Scaladocs

Problem

The `Promise.Detachable` trait is currently fully generic, although
it's intended to be used exclusively as a Promise mixin.

Solution

Add a `_: Promise` self-type for the Detachable trait. Unrelatedly, a few
Promise-related Scaladocs are also fixed/improved.

RB_ID=481681
[split] removed IVar and IVarField Problem

IVars originally backed the twitter Future implementation, but the IVar behavior was inlined when we reimplemented Futures. Now, IVars support a subset of Promise behavior and are rarely used. We found that they were introducing a cyclic dependency between scala and java code, which was fragile and breaking some internal tools.

Solution

Remove IVar and IVarField

Result

IVar won't be available.

RB_ID=477763
[split] Add asynchronous cache with TTL to util-cache

Problem

Services sometime provide endpoints that don't change very frequently,
for example the trend service's list of supported locations.  In some
cases these responses are quite large so we want to minimize how often
the data is requested.  We need a lightweight way to cache successful
responses of these methods while retrying on failures that allows a TTL
so results are periodically refreshed.

Solution

This change adds 'Refresh' which takes a TTL and function that returns a
future.  The first call to the memoized future calls through to provider
function, but subsequent calls will just get the cached copy until the
TTL expires, after which it will be requested once.  Special care has
been taken to handle race conditions on requests.

Result

After this change, clients will be able to wrap any function that
returns a future with this utility that caches responses for up to the
specified TTL.

RB_ID=480295
[split] util and finagle: fix compiler warnings

Fixes to some of the more trivial compiler warnings in finagle and
util.

RB_ID=473425
[split] Better names for Buf.slice() paramters.

Current parameter names ('i', 'j') are too short for the method
parameters scope and also they don't speak for themselves.

RB_ID=480063
[split] Remove empty file

Remove empty MemoizedFutureWithTTL.scala which was inadvertently
included in previous commit

RB_ID=484041
[split] birdcage: Add provides clause for util-core-java

- util-core's java code no longer has a cyclic dependency with the scala code, and needs to be explicitly marked publishable by pants.

RB_ID=483885
[split] use org.apache.thrift libthrift 0.5.0-1 universally

tl;dr: 0.5.0 has a bug, 0.5.0-1 doesn't.  See THRIFT-223 for the explanation of the problem.

Exceptions:
scrooge-generator (0.8, only used by eventbus-thrift and some leaves)
scrooge-benchmark (0.8)
ostrichagg (0.8, I don't know why, but I believe it's a leaf)

Note this *downgrades* scrooge-core from 0.8 to 0.5.

libthrift 0.5.0 and 0.5.0-1 were published by twitter, not Apache.
They're publicly available on maven.twttr.com.

Note the 0.5.0 pom.xmls (thrift and org.apache.thrift) are empty.  The
0.5.0-1 pom.xml has dependencies on slf4j-api and commons-lang.

RB_ID=474051
[split] util-core: Add `Activity.future`

Problem

While refactoring some code in finagle-serversets, I found a need to
make a leap from a Var to an Activity. A direct Var->Activity mapping
doesn't make a lot of sense, but I found that a Future->Activity mapping
suited the job (via `Activity.future(Var.toFuture)`).

Solution

Add `Activity.future`. See Scaladoc for details.

RB_ID=481091
[split] util: Clarify Scaladoc of `Promise.attached`

RB_ID=482865
[split] scribelibe_2.10 0.0.10 + a bunch to birdcage

RB_ID=482663