Revert "Revert "SimpleFuture: cancels should trigger callbacks""

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