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.
This is returning a promise, see line 4.  This function essentially acts the same way as middleware in node - it doesn't interrupt, it just inserts itself inbetween.  
All existing code that relies on the promise returned by save will still get that promise, ditto the error object.