Add user endpoints

This is a continuation of #128 with some cleanups, and adding extra functionality.

Insanely huge props to @tobych on this one; he's done almost all of the heavy lifting here.

Things left to do:
* [x] Implement `/users/me`
* [x] Unify user update/insertion code
* [x] Add missing fields to `update_user`
* [x] Audit everything for security
* [x] Replace `Posts::prepare_author()`

Will fix #20.