Hide Access Token

closes #3177
- uses an iFrame to initiate the download to hide the access token

The access token is now hidden in the admin logic. If we would like to
completely hide the token it is possible to remove the access token and
use signed requests instead, but I think the effort isn’t worth the
benefit in this case.
Add XSS prevention

closes #3387
- added placeholder for <script> and <iframe>
- added google-caja sanitizer
- changed title in posts overview to ‚double-stash‘
Add a mixin for saving a subset of a model.

Closes #3403
- Add SelectiveSaveMixin so that a DS.Model can save one or more
  properties at a time while preserving other outstanding changes.
Permissions Improvements

refs #3083, #3096

In order to implement advanced permissions based on roles for specific
actions, we need to know
what role the current context user has and also what action we are
granting permissions for:
- Permissible gets passed the action type
- Effective permissions keeps the user role and eventually passes it to
  permissible
- Fixed spelling
- Still needs tests
Improving error handling
Adding role API tests & fixing browse

refs #3083, refs #3196
User edit, add & destroy perms restricted by role

closes #3096, closes #3378, refs #3100

- user.permissible updated to reflect proper permissions
- small amount of API refactoring to handle extra cases
- extensive integration testing
Merge pull request #3405 from sebgie/issue#3387

Add XSS prevention
Merge pull request #3422 from sebgie/issue#3177

Hide Access Token
Merge pull request #3423 from jaswilli/issue-3403

Add a mixin for saving a subset of a model.
Merge pull request #3395 from ErisDS/issue-3096

User Permissions: Edit, Add, Destroy & Role management