Add Devise to User model

As of Device 3.1 token authentication is deprecated. So instead of using
`token_authenticatable` as in previous versions of Devise, we have
rolled our own token creation. For more, see here:

https://gist.github.com/josevalim/fb706b1e933ef01e4fb6