Fire NProgress on User, Post, and Settings save

Closes #3037
- Created `NProgressSaveMixin`, which extends the `save` method of a model to fire NProgress.
- Extended `UserModel`, `PostModel`, and `SettingModel` with the new mixin.
Any reason not to just `Ember.RSVP.reject(error)` here?  RSVP will catch the throw and convert it to a rejected promise but it just seems weird to purposefully `throw` out of a promise.

Aside from that small style issue I think this works as expected.