Dont use catch method on promises

This blows up IE8 and 9 so we're reverting to the class, comma seperated success
and fail callbacks