Enabled extending the API of returned promises

I have used your implementation of promises to build a JS SDK on top of my company's public API. I need the promise to have something mode than just `then` function and the current code is immune to extensions.

This pull request is one way it can be done. I need to have at least the `error` method, otherwise I'll need to replace pinkyswear with something else, or maintain a fork.