viewingUsers.findByIds only fetches users that have not already been cached
Enabled embedded comments on content entries
Added FindById.saveSafe, for use by database classes
Pushing a poll to chat includes a created date so that the event list
sorts correctly.
Partial commit. Course edit details pages, plus some routes use resolve

Angular.js provides a "resolve" mechanism, whereby the route can
indicate what parameters need to be resolved before the route renders.

Using this for the course editDetails page, however gave a thread to
chase, as if the resolution fails, the route does not render.

So there's a few things in this commit:

CourseService, which contains a course cache and http methods to fetch
and post courses.  This is intended to replace viewingCourse

Course.Cover, Course.Edit, Course.Invites resolve parameters before
they are loaded

app.coffee has been split into base.coffee and app.coffee, so that the
controllers are set up before the routes (as some routes now point to a
top-level controller)

templateFront now includes a controller that will display client-side
custom error pages should a route fail in its parameter resolution