Cast promises

reqwest is an example of a library that has its own promise implementation, which is not compliant with the Promises/A+ spec.

In the reqwest HTTP adapter, we should cast reqwest promises. However this means [polyfilling `window.Promise`](https://github.com/jakearchibald/ES6-Promises) or bringing in a dependency such as Q.

I’m hesitant to do this because it means we are bundling a large dependency, and the consumer could have other dependencies that also bundle Q, leading to duplicate code. Thenceforth is why I believe front-end engineers prefer to re-invent the wheel instead of adding dependencies. I don't want to fall into this category with this lib. What are your thoughts?

For what it’s worth, there are few other good request libraries.
Would be nice not to have to pass the adapter twice. Does the Api ever need the promiseAdapter? I have a feeling it might at some point but I might be wrong.