Added cancellation support to SingleResultFuture.  Added full unit tests as well.