Do not set the callback if the Future was cancelled.
Cancelling a future should clear the callback.
add some exception tracing

Change-Id: If9f87137d86c2256430f4fbbf7c6a841be674449
SimpleFuture: cancels should trigger callbacks

Change-Id: I636f1f0f79401490b518ff26cba38d73bbca354b
Fix test
Fix test
Revert "SimpleFuture: cancels should trigger callbacks"

This reverts commit f0875c7505876e0467df7249af7d394dd2025113.
Fix test for adjusted cancel behavior
Revert "Revert "SimpleFuture: cancels should trigger callbacks""

This reverts commit ab932d94018a4deb1622917db72df6faa2ac6408.
SimpleFuture: calling setCallback on a cancelled SimpleFuture should invoke the callback.