added user model
updated user model and tests
finalized user model with secure passwords and authentication