JCBC-212: Command Throttling for CouchbaseClient

This initial draft of throttling for the CouchbaseClient manages
backoff times for commands based on the high water marks and
memory.

It knows three states: normal, high and critical and uses the
given thresholds to throttle accordingly.

Change-Id: Ie1886a86b0cf998260422b723bedf85f93f84440
Reviewed-on: http://review.couchbase.org/23658
Reviewed-by: Matt Ingenthron <matt@couchbase.com>
Tested-by: Matt Ingenthron <matt@couchbase.com>