Removes config.theme and restructures how theme variables are cached

resolves #1789

- removes config/theme.js
- moves caching of theme variables to api/settings.js which is where the
rest of the settings cache occurs.  this removes the requirement of having
to push changes to cache, now it simply occurs alongside when settings
are changed.
- updates relevant tests.
Replaces sendmail with direct

Closes #1538
* rips out sendmail
* adds direct
* updates nodemailer to 0.7.1
* changes unit tests for mail
* changed integration tests for mail
* adds mail api tests
Fix user profile settings

References #3810, #3944

- Fixes several small visual bugs with the user settings page
- Changes `.settings-subview-header` to use a clearfix instead of `overflow: hidden;` (fixing style issues in #3944)
Remove active class from buttons.

refs #3989
- Remove active class from {{#link-to tagName="button" ..}}
Merge pull request #3991 from halfdan/3989-active-class

Remove active class from buttons
Add authentication scope.

closes #3982
- Set custom key to use in localStorage based on subdir
Improve keyboard support

issue #3964
- added :focus selector to improve keyboard support in modern browsers
- added :active selector to improve keyboard support in old IE
Merge pull request #3995 from JamieKnight/keyboard-support

Improve keyboard support
Post Settings Menu - Step 1

closes #3936
- Implement new PSM
- Hook up close action
- Automatically close when view is destroyed
- Close on click and when pressing ESC
Merge pull request #3965 from halfdan/3936-psm-1

PSM Step 1
Prevent horizontal scroll on content list

Closes #4000

- Adds `overflow-x: hidden;` to the content list & preview wrapper
Merge pull request #4003 from PaulAdamDavis/no-right-scroll

No right scroll
Merge pull request #3960 from PaulAdamDavis/fix-user-settings-page

Fix user profile settings
[WIP] Wire up new mobile nav

References #3810

With GUI2, there's now a number of places to open the mobile navigation menu. This handles those clicks.
Merge pull request #3954 from PaulAdamDavis/mobile-menu-toggle

[WIP] Wire up new mobile nav
Delete revoked tokens

closes #3758
- new API method to delete access and refresh token
- use new ember-simple-auth config to revoke tokens on logout
- new method to delete tokens by .. token
Fix modal positioning

Closes #4008

- Adds a `.modal` class which extends `%modal` - it disappeared with the migration to Libsass
Emberify Posts mobile transitions

Closes #3950

- Fixed up event attachment and removal in a few mixins
- Renamed content-list-content-view to something more understandable
- simplify transition from posts.index to posts.post
Merge pull request #3908 from halfdan/3758-revokation-api

Delete revoked tokens
Merge pull request #3994 from halfdan/3982-use-auth-scope

Add authentication scope.