Add validations, callbacks, and gravatar method to user model