Open connection threshold et al

This request primarily is intended to fix behavior of channel and connection settings. The ServerBuilder API in finagle provides options for specifying settings (a) channelMaxLifeTime (b) channelMaxIdleDuration and (c) OpenConnectionsThresholds.

Code that implemented these settings was removed as part of the refactorings
    
* https://github.com/twitter/finagle/commit/04f4d25ddbef0ba01569fe1e117295fe54234c2c
* https://github.com/twitter/finagle/commit/d92fedf49df
    
This change reintroduces these settings.

Having addressed the setting behavior, we uncovered a few other issues, primarily in the IdleConnectionFilter and its supporting data structure BucketGenerationalQueue in twitter/util. See the individual commit and messages for a further break down.

A pull request for BGQ was previously created. Note: These are changes originating from Tumblr.