Add 'author' role. Closes #72.
Re-organize code.

- Move server methods to model file
- Group publications together