No need to resolve()
Rename Deferred::progress to Deferred::notfiy

Avoids confusion with ExtendedPromiseInterface::progress.
A Deferred::progress alias is still available for backward compatibility.
Add new .otherwise() method (part of the new ExtendedPromiseInterface)
Allow typehinting the argument of the handler passed to otherwise() to catch specific errors.