[split] bump ruby finagle thrift version
[split] finagle-stream: do not admit concurrent requests

this happens if a client attempts to issue pipelined requests.  prior
to this change, whenever this happened, the response to it was simply
proxied back, subsequently ignored by the HTTP codec (since the
message type is unknown), and could cause workers to receive
non-ChannelBuffer messages.
[split] fix for changes to finagle tracing
[split] org=com.twitter,name=finagle,version=1.9.5
[split] org=com.twitter,name=finagle,version=1.9.6-SNAPSHOT
[split] finagle: update changelog
Merge branch 'bc'
[split] make native provider bootstrapping code work; refactor 'Ssl' singleton
[split] remove spurious printf
[split] Update configurations and libraries to use tracer factory introduced to make it possible to release resources properly in tracers
[split] Fix code style + change according to comments in review request #44517
[split] finagle-thrift: connection options + client id
[split] finagle ssl: correct typo in argument to the "keytool" command so that the PEMEncodedKeyManager might work - correct typo in argument to the "keytool" command so that the PEMEncodedKeyManager might work
[split] omg fix
[split] fix tests
memcached client: Add support for the PHP memcache.so client.

PHP has 2 popular clients, `memcache.so' and `memcached.so'
(which isn't confusing at all, right?).
  - memcache.so is from http://pecl.php.net/memcache
    hashing code is @
    http://svn.php.net/viewvc/pecl/memcache/trunk/memcache_standard_hash.c?revision=HEAD&view=markup
  - memcached.so is from http://pecl.php.net/memcached
    hashing code is @
    http://bazaar.launchpad.net/~libmemcached-developers/libmemcached/trunk/view/head:/libmemcached/hash.cc

This change adds a new type of memcache client to support users of the
`memcache' extension.  These users can use finagle's Ruby client if they
use CRC32, but that client doesn't support using any other hash function,
and the PHP `memcache' extension can use FNV1a-32, see:
  http://php.net/memcache.ini#ini.memcache.hash-function
The PHP client also supports weights, which aren't implemented in the
Ruby client.  Getting the weights right is required to hash to the same
servers, even if all the weights are equal.

Speaking of support for PHP clients, here's some info for posterity.
The only notable difference between the two is that the `memcache'
extension does this on the hash:
  hash = (hash >> 16) & 0x7fff;
like the Ruby client, but `memcached' doesn't.

For the `memcache' client, the standard hash strategy applies a modulo,
whereas the consistent strategy uses the following algorithm (pseudo code):
  hash = hashfunc(key);
  server = servers[hash % 1024];
  if (!server && allow_failover) {
    for (int i = 0; i < max_failover_attempts && i < 1024; i++) {
      next_key = key + "-" + i;
      hash = hashfunc(next_key);
      server = servers[hash % 1024];
      if (server) {  // We found a healthy one.
        break;
      }
    }
  }
  if (!server) {
    // error.
  } else {
    // success: use the connection to that server.
  }

For `memcached', consistent hashing is done with Ketama, which is
already supported in Finagle.
[split] finagle: more flexible retry filter
Add a sensible toString method to http.{Request, Response}.

Because this:
  Query timeout on com.twitter.finagle.http.Request$$anon$3@305f387c
is a lot less useful than this:
  Query timeout on Request("GET /foo", from 10.42.42.42:56942)
[split] flock-client: use retry policy to retry on timeouts and flock exceptions
[split] Make return types on some methods explicit for Java compatibility