Post list: authors see their own posts

issue #3446
Limit Posts for Authors.

* Ensures that posts listing only shows posts that the current user
  authored, if they only have the Author role.
* Do not transition into the posts.post route if the current user is
  not the author (but has the Author role). This is needed because
  the API server will always return the post (regardless of the current
  user).
Completed post & user list filer by role

closes #3446, closes #3086

- Authors can only ever get to their own posts
- Editors only ever see authors in the user list
User edit & add endpoints cleanup

- edit and add endpoints don't assume role
- edit and add endpoints cope with no role, role objects, and strings
- resend user invite was failing at one point due to no role being sent, but this shouldn't be required
- other random api cleanup
Redirect to the first available post for current user.
custom slugging capabilities for individual user pages

closes #3401
- modifying slug-generator to be more generic
- adding slugging capabilities for /settings/users/:slug
- modified posts to use the updated slug-generator
Merge pull request #3462 from ErisDS/issue-3446

Post list: authors only see their own posts
Merge pull request #3475 from ErisDS/api-clean

User edit & add endpoints cleanup
Keyboard shortcuts for Mac vs All

Closes #3029, Ref #3469
- Editor shortcuts are now built in a separate file, which uses `ctrlOrCmd` to correctly set OS specific shortcuts.
- Removed `newLine` and `selectWord` shortcuts
Merge pull request #3471 from novaugust/editor-shortcuts

Keyboard shortcuts for Mac vs All
Merge pull request #3472 from morficus/issue-3401

custom slugging capabilities for individual user pages
Cleanup CodeMirror shortcuts.

* Add titleize utility function.
  * Capitalizes first word.
  * Capitalizes all words not contained in simple article/conjunction
    list.
* Enable shortcuts for `uppercase`, `lowercase`, and `titlecase`.
* Fix header shortcuts
  * Ensure that header shortcuts do not duplicate text.
  * Make headers idempotent (pressing `ctrl+alt+1` then
    `ctrl+alt+2` does not make `# # # blah`.