adds the user model, migration, and writes tests for user validations
makes a basic User model which includes secure passwords