SPY-107: Ensure state of timedout is known across IO and user threads.

After seeing this in a log, I re-thought through the series of events here.

This flag on the op is known by user threads and the IO thread.  Thus it
is modified in these two different ways:

* operation is created and enqueued
* OperationFuture is returned
* .get() is called on OF
 **timed out**

* operation is removed from input queue
* elapsed time is checked
  **timed out**

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