Make authorize function return a Ember.RSVP.Promise

The promise will either resolve or reject based on the authorization attempt.

Should be backwards compatible as the `authorize` function didn't have any return value before, but for coffeescript users, there may be some issues with implicit returns when the function is called from a `model` hook in an `Ember.Route`.