Consolidated some text utils into the utils_tests test package.
Factored create_fk_sql, create_unique_sql, and delete_constraint_sql.
Fixed #23065 -- Quoted constraint names in SQL generated by migrations.
Fixed #23503 -- Fixed renaming of model with self-referential m2m field.
Made get_table_list return a TableInfo named tuple
Fixed #18782 -- Prevented sql_flush to flush views

Thanks rodolfo_3 for the report and the initial patch, and
Josh Smeaton, Shai Berger and Tim Graham for the reviews.
Called table_names instead of get_table_list in migrations
Consolidated some many_to_one tests.
Fixed #23550 -- Normalized get_queryset() of RelatedObjectDescriptor
and ReverseSingleRelatedObjectDescriptor so they actually return QuerySet
instances.

Also ensured that SingleRelatedObjectDescriptor.get_queryset() accounts
for use_for_related_fields=True.

This cleanup lays the groundwork for #23533.

Thanks Anssi Kääriäinen for the review.
Skipped a broken geoapp test on Oracle; refs #23504.
Added an Oracle workaround for a geogapp test; refs #23504.
Changed Oracle test-user creation to grant privileges instead of roles

because the roles (specifically RESOURCE) are deprecated.
Also added optional support for creating views in tests, and made an
introspection test fail (rather than skip)  if a view cannot be created
due to lacking privileges.

Refs #18782

Thanks Tim Graham for review, and Josh Smeaton
Removed numbering from the models.py header of some test packages.

This is a reliqua from the early days of the modeltests/regressiontests era.
Fixed #23539 -- Added get_extra(), get_max_num(), and get_min_num() hooks to GenericInlineModelAdmin.
Fixed flake8 warnings.
Fixed #23426 -- Don't require double percent sign in RunSQL without parameters
Added SuspiciousOperation to list of caught exceptions in testing docs.
Corrected --noinput docs for makemigrations; refs #23407.
Fixed #23473 -- Documented that @deconstructible classes need __eq__.
Fixed #22959 -- Documented that class-based validators need to be deconstructible.