'Creates and saves a User with the given username, e-mail and password.'

def create_user(self, username, email, password=None):

    now = datetime.datetime.now()
    try:
        (email_name, domain_part) = email.strip().split('@', 1)
    except ValueError:
        pass
    else:
        email = '@'.join([email_name, domain_part.lower()])
    user = self.model(username=username, email=email, is_staff=False, is_active=True, is_superuser=False, last_login=now, date_joined=now)
    user.set_password(password)
    user.save(using=self._db)
    return user
