Raise the new OperationTimedOut when futures don't finish

When a future hasn't finished in time it will raise a
specific exception that we should reraise as the new wrapped
error so that users of tooz can nicely handle time outs in
a uniform manner.

Change-Id: Id0b0965e5dcd66e0338fd57294236a14aff4b3d1
Merge "Raise the new OperationTimedOut when futures don't finish"