Authentication

This is my first pass of adding devise authentication and basic tests for user and authentication logic.