Update user model and migration with validations.

* add email field with validation for uniqueness.
* validating name, email, and password for presence.