changed promise dealloc behavior to _not_ force cancellation of its deferred