Added password strength validation into the user model (IMPORTANT CHANGE - PLEASE REVIEW THOROUGHLY AS COULD POTENTIALLY AFFECT USERS WITH WEAK PASSWORD)