Concurrent.Promise: Fix handling of rejections.
The global rejection callback (installed via Concurrent.on_failure())
must not be called before the user has had a chance to register
custom rejection callbacks (via Concurrent.Future()->on_failure()).
Calling of the global rejection callback is now deferred until
the Promise is destructed.
Fixes erroneous reporting of unhandled Promise errors.