Added validations for all models. Added helper methods in the User model for password hashing and salting