Make Deferred.determine() non throwing.
Make Deferred.determine() non throwing.

It turned out that errors were always ignored, and that the only information sometimes necessary is whether it succeeded.

glessard/async-deferred,glessard/swiftian-dispatch,glessard/deferred,glessard/deferred