Minimum Viable API

Hopefully this should cut it for the Minimum Viable API. Went on a 24hour coding spree and right now I'm zoning out... time to send the PR I think. Sorry if it seems like my code was made like this:

![Cast Away Fire](http://i.imgur.com/2o3syhv.gif)

Added:
* Tests for:
  * `/api/topics` (Fixes #3)
  * `/api/tasks` (Fixes #4)
  * `/api/users` as an administrator
* Persona Login support
* API routes for Users, Topics, and Tests
* Fake data generator for testing purposes
  * [ ] TODO: make it a little more inteligent about data generation
  * [ ] TODO: make it usbale as a module not just CLI tool
* Error handling routes/endpoints for HTTP statuses

Changed:
* Config now has two new required fields:
  * `PERSONA_AUDIENCE` - the address for the server as Persona would see it. E.g. "http://localhost:4321"
    * See [express-persona docs](https://github.com/jbuck/express-persona#required-options) for more.
  * `SESSION_SECRET` - the key to sign session cookies with.
* Config now has two optional fields:
  * `SESSION_RESAVE` - see [express-session docs](https://github.com/expressjs/session#optionsresave).
  * `SESSION_SAVE_UNINITIALIZED` - see [express-session docs](https://github.com/expressjs/session#optionssaveuninitialized).

Removed:
* Nothing.