Add admin, lots more refactoring.

Review Request #7505 — Created July 8, 2015 and discarded — Latest diff uploaded




I apologize for the state of this change--there's no good way to break it up.

This change does a bunch of things:
- Add a (very WIP) admin page.
- Use express-restify-mongoose to make a REST API to do CRUD on our mongoose
schemas. This is enhanced a bit with some access control.
- Add a new group model.
- Refactor the front page to use the new APIs where possible. This obsoletes
the old lib/students.js.
- Tweak layout and styles to be more consistent and work better.

Navigated around and saw that everything worked as expected. Spent a bunch of
time making sure that layout was correct (previously some elements wouldn't
show the bottom @header-height of space when scrolling).