Fixed #21840 -- Moved dunder methods from SimpleLazyObject to LazyObject.

This commit also added tests for LazyObject and refactored
the testsuite of SimpleLazyObject so that it can share
test cases with LazyObject.
Simplified implementation of collectstatic command.

Since d2e242d16c6dde6f4736086fb38057424bed3edb made isinstance()
calls work correctly on LazyObject, we can simplify the
implementation of is_local_storage added in
7e27885c6e7588471fd94a4def16b7081577bdfc.
Changed start of week for Australia to Sunday as requested in https://code.djangoproject.com/ticket/21989
Fixed #22001 -- Ensure db_type is respected.

db_parameters should respect an already existing db_type method and
return that as its type string. In particular, this was causing some
fields from gis to not be generated.

Thanks to @bigsassy and @blueyed for their work on the patch.

Also fixed #22260
Merge pull request #2430 from NathanRSmith/ticket_21989

Fixed #21989 - Modified first day of week in AU locale.

Although Australia is a signatory to ISO 8601, there's a lot of evidence to suggest that this is in the same category as "officially, the USA uses metric". See the ticket for supporting details.
Fixed #22184 -- Allowed template_tests.tests to be run isolated
Remove u prefixes, skip test unless spatial db.

Refs #22001, d22b291890c1736a40c0ad97448c7318df2eebb2
Fixed #22242 -- Documented common cookie size limit.
Fixed #21991 -- Added warning regarding tests failure if locales not installed.

Thanks reidrac for the report.
Fixed #21860 -- Added to_field_name to ModelChoiceField docs.

Thanks Keryn Knight for the suggestion.
Fixed #22006 -- Documented how to write a login_required mixin for CBVs.

Thanks django at patjack.co.uk for the suggestion and mockforest
for the draft patch.
Fixed #21179 -- Added a StreamingHttpResponse example for CSV files.

Thanks charettes for the suggestion.
Amended login required mixin documentation to honor **initkwargs.
Fix any sqlite field migration deleting all implicit m2m tables

Fixes #22281
Fixed #22283 -- Updated documentation referring to non-existent tuples.
Mentioned that ``dumpdata --natural`` is deprecated.
Made a test app label unique.
Fixed a regression from 2e5b82f6277227b69e9a6c5261a6deb14fff15dc
Fixed regression in file locking on some platforms.

Some platforms with os.name == 'posix' do not have the
fcntl module, e.g. AppEngine.

refs #19373.
Fixed migration so MySQL GIS test doesn't fail; refs #22001.

The test previously failed with the error:
(1170, "BLOB/TEXT column 'name' used in key specification without a key length")