Fixed #22057 -- Ensured reverse_lazy can be used in settings

And without causing a circular import. Thanks Akis Kesoglou for
the report.
Consolidated all tests for createsuperuser in the same TestCase.
Removed BaseCommand.stdin introduced in 116d39842dab2569013856e9f3701a7cb6554f09.

This option is not actually very useful in the general case
because it doesn't override sys.stdin.

It's still marginally useful for testing some features of
the createsuperuser command so it was moved there.
This commit also makes the detection of a TTY in createsuperuser
a bit more robust, after a suggestion of appolo13.
Fixed broken tests when running with a non-TTY stdin.
Replaced 'test' by 'sqlall' management command in reverse_lazy test
Fixed #21732 -- Made compilemessages complain about non-writable location

Instead of crashing with a CommandError, now a non-writable location
of mo files will only make compilemessages complain and continue.
Thanks Ramiro Morales for the review.
Made content_type_extra optional for TemporaryUploadedFile and MemoryUploadedFile.

This provides better backwards compatibility for those constructing these
objects manually.

Refs #13721.
Fixed #22062 -- Corrected static files config for Apache >= 2.4
flake8 fixes (unused imports and variables).
Fixed #21790 -- Removed reliance on an assert in auth.get_user().

Thanks matklad for the report.