Fixed test suite bisection on Python 3.

Thanks to @marfire for spotting this.
Removed implication that six is part of Python stdlib.
Removed extra p (topppings->toppings)
Removed double import in mysql base.py
Isolated select_for_update tests a bit more.

This change prevents including the multiple_database test models without
duplicating the router code (we probably should do this at one point).

Refs #21148
Fixed #21151 -- Bad cleanup in schema M2M repoint test
Reformatted some GIS distance tests
Properly marked skipped GIS tests as skipped
Marked PermissionsMixin.user_permissions help_text for translation
Fix small grammatical error in comment.

Changed 'there are no filtering' to 'there is no filtering'.
Merge pull request #1675 from NiGhTTraX/typoFix

Fixed #21152: Corrected small grammatical error in comment.
Fixed #21137 -- Corrected ULRconf include example.

Thanks marfire for the report.
Fixed #18333 - Quoted annotated column names
Revert "Ensure that passwords are never long enough for a DoS."

This reverts commit aae5a96d5754ad34e48b7f673ef2411a3bbc1015.

This fix is no longer necessary, our pbkdf2 (see next commit) implementation
no longer rehashes the password every iteration.
Fixed #21138 -- Increased the performance of our PBKDF2 implementation.

Thanks go to Michael Gebetsroither for pointing out this issue and help on
the patch.
Added '*' to quote_cache

The commit for #18333 missed quote_cache default value for *.
Refs #18333.
Add equality support for Project/ModelState
Add RunPython migration operation and tests
Make sqlmigrate ignore the RunPython operation
Allow callables as the argument to RunPython