Add `Token` model

Now the base class for `Session`; both use SHA256 instead of bcrypt for hashing (per-request hashing should be fast; bcrypt is designed for the explicit purpose of being slow)
Add route helpers (with `#call_route`)
Add human-friendly `/sign-in` and `/sign-up` links
Route `POST /sign-out` to `DELETE /sessions/destroy`
Tweak terminology

'Log in' and 'Log out' have been replaced with 'Sign in' and 'Sign out', respectively
Add basic layout

This will be used for error pages and the like
Use basic layout with `/sessions/new` and `/users/new`
Add `ConfirmationToken`
Add `User#is_confirmed`
Add `User#create_confirmation_token!`
Ensure user has been confirmed before login
Handle unconfirmed user error in session controller
Add `#create_confirmation!` method

This will be used to send a confirmation email
Call `#create_confirmation!` on user creation
Add `POST /users/confirm` method to confirm a user's account
Fix blank token validation

Checking whether or not a token was blank used the `#empty?` method, which failed for `nil`
Add `.env` to `.gitignore`
Configure SMTP email
Add Procfile
Fix excess user confirmation token destruction