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.