Use of `catch` withing promises

`catch` is a reserved word in JS and JSHint complains. This is an issue only with IE9 which we no longer support. [RSVP](https://github.com/tildeio/rsvp.js)uses this syntax based on the new [ES6 Promise standard](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise), that's why  `fail` was deprecated in favor of `catch`. So using it is a good thing. 

A few options are (in my preferred order):

* Find a way to disable just this (and/or other valid cases)
* Disable W024 relying on manual inspection to identify other keywords
* Using `promise['catch']` instead. 
* Using `then(undefined, function () {...})` instead (like you did here)
* Create an alias by overriding the promise prototype.