[promise} New methods for promises

This pull request includes new methods for promises such as `catch`, `Promise.all` and `Promise.race`. These will all be available in native promises (you can even check Chrome Canary without any flags):

![capture](https://f.cloud.github.com/assets/347002/1564836/0d16e5d8-5075-11e3-9186-0da71375748e.JPG)

These will all be in ES6 and the standard process can be followed in the repo: https://github.com/domenic/promises-unwrapping/.

I'm waiting for confirmation from tomorrow's TC39 meeting that the API won't change, so this PR is not yet ready to be merged.