Feature/authentication

Built on top of PR #9, which should be merged first.

Adds user model and views and templates for logging in and logging out.