Implemented timeout methods
- futureWithResultFromAsyncOperationWithResultLastingUntilCancelled:withTimeout:until:
- futureWithResultFromAsyncOperation:withTimeout:unless:
- futureWithResultFromAsyncOperation:withTimeout:
Added futureWithTimeout/CancelFailure, try/forceSetFailedWithTimeout methods
- Also unit tested timeout methods