Added the possibility to pass a stdin object to a management command.

This makes testing certain features easier.

Thanks to AeroNotix for the original patch.
Use assertEqual instead of assertEquals.
Fixed #7423 -- Skip superuser creation when not running in a TTY.

Thanks to trac user galaxy4sale for the original report
and to AeroNotix for the patch.
Fixed #22023 -- Raised an error for values() followed by defer() or only().

Previously, doing so resulted in invalid data or crash.

Thanks jtiai for the report and Karol Jochelson,
Jakub Nowak, Loic Bistuer, and Baptiste Mispelon for reviews.
Fixed #22073 - Ensure CreateTable operation handles backwards migration correctly when M2M fields are present
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.
Fixed #19647 -- Added formats.py for Esperanto.

Thanks to Objectivesea and Guttorm Flatabø (dittaeva)!
Added an example to the release notes for custom reverse managers.
Fixed #22093 -- Made Form.Meta.fields examples consistent.

Thanks david-schultz at gmx.net for the suggestion.
Fixed #22097 -- Fixed change detection for TypedChoiceField

Thanks Igor Mitrenko for the report.
Fixed #22107 -- Fixed django.core.files.File object iteration.

Due to a mixup between text and bytes, iteration over
a File instance was broken under Python 3.

Thanks to trac user pdewacht for the report and patch.