User authentication

Add ability for users to log in and log out. Resolves #10 
What about implementing `User#generate_remember_token` that will generate the token, update the user, and return the value.  Then you can do:

```ruby
def sign_in(user)
  cookies.permanent[:remember_token] = user.generate_remember_token
  self.current_user = user
end
```