Simplified caching of password hashers.

load_hashers cached its result regardless of its password_hashers
argument which required fragile cache invalidation. Remove that
argument in favor of @override_settings and triggering cache
invalidation with a signal.
Simplified caching of get_default_timezone().
Simplified caching of templatetags modules.
Simplified caching of template context processors.
Removed usage of a global variable.
Simplified caching of the default exception reporter filter.

Also simplified the logic under the assumption that a false-ish object
won't have an exception_reporter_filter attribute.
Simplified caching of supported languages.
Replaced caching of a property with @cached_property.
Fixed #23871 -- Removed promotion of MySQL warnings to errors in DEBUG mode.
Fixed GIS tests to again skip without error when GEOS is not installed.
Fixed #23872 -- Removed sensitivity of migrations tests to CWD.
Fixed #21794 -- Removed deprecation warning for abstract models outside an app.
Fixed #23410 -- Avoided unnecessary rollbacks in related apps when migrating backwards.
Fixed #23873 -- Improved GIS error message when GEOS is not installed.

Thanks Claude for writing the patch.
Added another migration-executor test to avoid regressions.
Fixed #23876 -- Removed dead code in SQLAggregateCompiler.
Fixed #12098 -- Simplified HttpRequest.__repr__().
Fixed #23817 -- Updated docs on QuerySet evaluation

Removed inaccurate info about partial evaluation after refs #18702.
Added information on modifying sliced QuerySets; refs #22503.
Added AutoField introspection for MySQL

Refs #23748.
Added AutoField introspection for PostgreSQL

Refs #23748.