Changed ember models to use moment for dates

Closes #2888

-Added moment-date `DS.Transform`
-`models/post` and `models/user` both use `DS.attr('moment-date')` in
place of `date` now.
Add shadows to PostsListView and the adjacent HTML Preview; Fix preview render

closes #2906
- add a utility function to add classnames to targets, retrofitted from clientold to accommodate `Ember.run.bind`
- create a content-preview view that tracks its scrolling
- add a scroll handler to the existing PostsListView
- The `posts/post` template now takes its HTML from the post model instead of using the editor's markdown component
Split PostController amongst new Editor/PostSettingsMenu Controllers

closes #2910
- create EditorController, PostSettingsMenuController
- remove `posts.post` controllerName dependency on EditorRoute/NewRoute
- `{{render}}` the PostSettingsMenuView with its own controller
- break up properties/methods from PostsPostController into all three controllers
- fix EditorRoute pagination options to now be comparable to PostsRoute
- add NewController to force NewRoute to refresh editor with blank model. Identical to Editor's
- EditorController and NewController are based on a shared mixin
- NewView created, templateName is 'editor'
Upgrade to Express 4.0

no related issue

- Updates package.json packages, adding express middleware packages
 that have been broken into their own modules

- Updates controllers/frontend.js to use the new Layer object that Express 4.0
 has.  Requires some monkey-patching as the Layer object isn't explicitly
 surfaced, however it should be safe to do.

- Moved the setup of routes into middleware/index.js because they need to
 be added as a middleware function before the 404 and 500 handlers. This is
 no longer possible with the old app.use(app.router) as that has been removed.

- Cleaned up middleware/index.js to make it compatible with Express 4.0.

- Simplified the way themes are activated and enabled when they are activated.
 The new handling is simpler, yet should still cover all the use cases that
 previously existed.

- The entire flow of activating a theme through middleware should be a little
 more centralized, letting it be easier to read and maintain.

- Moved every routes/*.js file to use an individual express.Router() instance.
Use loader.js from bower.
Merge pull request #2603 from hswolff/express-upgrade

Upgrade to Express 4.0
Merge pull request #2911 from appleYaks/editor-controller

Split PostController amongst new Editor/PostSettingsMenu Controllers
Merge pull request #2907 from appleYaks/shadows

Add shadows to PostsListView and the adjacent HTML Preview; Fix preview
Merge pull request #2914 from rjackson/use-loader-from-bower

Use loader.js from bower.
Handle invalid post ids in editor route

No issue
-fail fast if an invalid post id is passed into the
 editor route to prevent an unnecessary network request
 for all posts
-if post id is valid but post does not exist, transition
 to Content screen instead of returning an invalid model
Merge pull request #2916 from jaswilli/editor-route

Handle invalid post ids in editor route
Merge pull request #2889 from novaugust/post-model-dates

Changed ember models to use moment for dates
Make exports consitent.

Previously, the exports were somewhat random with some files declaring
local variables then immediately exporting them, and others simply
doing the work needed in the export itself.