Modify login system. Allow user to login using username or email. Add exception fields to validate().