Disallow NULL/blank values for users columns

The `email` and `password_digest` columns, along with timestamp columns, are now
marked as `NOT NULL`. The User model also has presence validations for `email`
and `password_digest`.

Emails are also now forced to be unique.