[split] more .sync() fixups
[split] first stab at dependency management
[split]  - @throw is not a scaladoc tag - this removes several warnings
[split]  util: propogate cancellation exception when Timer.doAt future is cancelled  Without this change, calls to doAt or doLater for which the returned future is cancelled result in that future never being satisfied. The cancellation code now looks identical to the code in the ExecutorFuturePool, and properly updates the promise with a CancellationException on cancellation.
[split] Provided a mechanism to enable a mode for the KetamaDistributor where it preserves a floating point truncation behavior that exists in the version of libmemcached that the monorail uses for its clients so that JVM memcached clients always hash keys to the same host as the monorail clients.
[split] Use more daemon threads

* util-core/Timer.scala:
    ScheduledThreadPoolExecutor: Add makeDaemons param to constructor and
      propagate to NamedPoolThreadFactory.  Default is false, like in
      NamedPoolThreadFactory.

* decider/OverlayDeciderStore.scala:
* flakestore/TemporalCacheBuffer.scala:
* limiter/RefreshingCache.scala:
* woodstar/GlobalConfigurationRepresentation.scala:
    Use daemon thread in ScheduledThreadPoolExecutor

* birdherd/TimelineServiceTimelineRepository.scala:
	* servo/util/src/main/scala/com/twitter/servo/util/Retry.scala:
    Use daemon thread in JavaTimer (JavaTimer(true))

RB_ID=60753
[split] [util-zk] fix monitor to work across disconnects
[split]  fix some scala doc annotations  s/@returns/@return/

 should fix some compile warnings
[split] Future.monitor: release reference to promise when it's satisfied.
[split] Make Void handling symmetrical to Unit handling.
[split] Merge branch 'static-voids'
[split] Future: specify type in Future#handle to avoid unchecked assignments
[split] finagle-core: introduce Transports and Dispatchers

A transport is a representation of a stream of objects that may be
read from and written to asynchronously. Transports are connected to
some endpoint, typically via a channel pipeline that performs
encoding and decoding.

Dispatchers bridge services onto transports.

This splits the finagle world into two neat(er) parts, and allows for
greater composability and modularity. In particular, after this
change, a codec may provide its own dispatcher to implement
multiplexing, pipelining and the like.

The change also simplifies a lot of the current functionality, making
it easier to reason about and test.

Next, I'm going to take this split a little bit further: I'll likely
introduce a "Listener" which can accept a transport:

trait Listener[In, Out] {
  def accept(): Future[Transport[In, Out]]
}

and a "Connecter" on the client

trait Connecter[In, Out] {
  def connect(remote: SocketAddress): Future[Transport[In, Out]]
}

after that, finagle will be neatly split into the pipeline stack and
the service stack, allowing us to build & test these separately. For
example, currently there is poor integration testing in the
particular service stack that the client & server builder sets up.
After this change, it'll be much simpler to test the two halves in
isolation.
[split] servo/tweetypie/util: converted more tests to SpecificationWithJUnit
[split] remove unneeded dependency
[split] scaladoc improvements for com.twitter.util.Time

RB_ID=62775
[split] Add exponential backoff retry policy

- Add exponential backoff retry policy to util-zk
[split] dedup thrift generator blocks in poms, regen poms
[split] Eval.scala: Allow @deprecated

The Scala compiler propagates warnings through exceptions.  So Eval
failed if an Eval'ed file uses something deprecated.  Disable
warnings.

RB_ID=63167
[split] util.Config'less LoggerFactory - deprecated util.Config-based LoggerConfig in favor of LoggerFactory, a less magical case-class-based factory. - updated many class constructors to support default arguments to make direct instantiation easier.