SPY-132: Adding Callbacks to Futures.

This changeset adds a onComplete callback to futures and executes
the callback in a configurable ExecutorService. By default, this
is a fixed size thread pool (threads = num of processors), but
configurable through the Factory.

Change-Id: I516af74918e57521542a0bad2ff7142b75ab7b13
Reviewed-on: http://review.couchbase.org/28025
Tested-by: Michael Nitschinger <michael.nitschinger@couchbase.com>
Reviewed-by: Matt Ingenthron <matt@couchbase.com>