Added #catch(onRejected) method

As per ES6 Draft

25.4.5.1 Promise.prototype.catch ( onRejected )
When the catch method is called with argument onRejected the following steps are taken:
1. Let promise be the this value.
2. Return Invoke(promise, "then", (undefined, onRejected)).