Use Rails::cache for email login token

- Store token in Rails::cache instead of database
- Store remember_me and return_to in the token object
- Don't put extra params in the login link
- Use cache expiry to expire auth token
- Put token auth logic in Warden strategy
- remove old token auth fields from database

note: since more of the work is happening in warden, controller tests were acting strange. added capybara tests to compensate.
Do we need `js: true` on these tests?