CommonJS Promise implementation API-compatible with jQuery's Deferred object (w/o pipe).