Refactor user.rb and add a few more validations for email