Fixed #22861: Internal migrations done first so __first__ works

Thanks to Chris Beaven.
Fixed several flake8 errors
Fixed #14481 -- Documented implicit "through" class created by ManyToManyField.

Thanks to jonathanmorgan for the report and initial patch.
Fixed #22778 -- Added a model Meta option to define default_related_name.

Thanks jorgecarleitao and mmardini for reviews.
Fixed #22859 -- Improved crossDomain technique in CSRF example.

Thanks flisky for the report.
Removed a CSRF example for jQuery < 1.5.
Fixed #22835 -- Deprecated NoArgsCommand.
Fixed #22867 -- Memoized django.utils.version.get_git_changeset().

This improves pickling speed in prelease versions of Django; refs #21430.
Revert "Fixed #22867 -- Memoized django.utils.version.get_git_changeset()."

This reverts commit 80f4487 temporarily, because that commit prevented
the djangoproject.com server from building the docs, because it still
uses Python 2.6.
Refs #12663 -- Added tests for methods in db.models.options.

Thanks Russell Keith-Magee and Tim Graham for reviews.
Fixed #22863: Improve clarity of makemigrations for non-db params
Fixed #22874: Document that AUTH_USER_MODEL must be in first migration
Swapped placeholders in [sql]migrate command error
Fixed #22836 -- Linked tutorial05 to the right section of tutorial04.
Fixed #22862 -- Added --noinput option to makemigrations.

Thanks artortenburger for the report.
Moved a line outside of try/except to prevent an error in finally.

Thanks Ian Foote.
Fixed #22514 -- Prevented indexes on virtual fields [postgres].
Fixed #22782 -- Added i18n attr to Sitemap class

It makes possible to have your sitemap in multiple languages when
using i18n in URLs.
Added HTTP 308 status and its description.
Fixed #22838 -- Deprecated ModelChoiceField.cache_choices.

Undocumented, untested and probably not even useful feature.