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