Support ES6 interface

new Q.Promise(setup(resolve, reject))

-   Promise.resolve(value or Promise) -> Promise
-   Promise.reject(Error) -> Promise
-   Promise.all(Array<Promise>) -> Promise<Array>
-   Promise.race(Array<Promise>) -> Promise

Dedicated to @tobie.