Documented optparse to argparse changes for management commands
Converted test management command to argparse

Keeping backwards compatibility with test_runner.option_list is
tricky and would imply transforming an optparse.Option to an
argparse.Action. I choose to introduce a backwards incompatible
change because it only affects testing, not runtime behavior.
Converted remaining management commands to argparse
Fixed #22826 -- Improved internal usage of Query.setup_joins.
Removed unnecessary attribute assigment to SQLCompiler.
Improved code style of Query.table_alias() usage.
Fixed several flake8 errors
Restored command error behavior when called from command line

Refs #19973.
Fixed #7762 -- Hidden full script name in command error output
Complemented dwithin docs about using geographic geometries

Refs #22830. Thanks django@gfairchild.com for the suggestion.
Merge pull request #2806 from jorgecarleitao/issue22826

Fixed #22826 -- Improved internal usage of Query.setup_joins.
Fixed #22842
Merge pull request #2810 from magrinidiego/ticket_22842_tutorial_test

Fixed #22842
Improve error message for missing migrations in an app
Fixed #22563: Added migration to admin, fixed a few more loader issues.
Fixed #22660: Doc'd you can't have unmigrated apps depend on migrated
Fixed #22833: Autodetector not doing through mapping correctly
Persist non-schema-relevant Meta changes in migrations
Fixed #22470: Full migration support for order_with_respect_to
Fixed #22568: Better proxy model support in migrations