Fixed #22867 -- Memoized django.utils.version.get_git_changeset().

This follows commits 80f4487 and 01399fa; original patch had to be
reverted because it wasn't Python 2.6 compatible and we need it to
be in order to build docs on the djangoproject.com server.

This fix should be replaced by @lru_cache as soon as we drop
Python 2.6 compatibility.

Thanks Florian Apolloner for the review and Alexander Schepanovski
for the original patch.
Fixed #22875: Optimizer did not take through= into account.
Include swapped apps in autodetector state
Clean up syncdb parts of migrate output if no synced apps
Fixed #22881 -- Better soft_applied migration detection
Fixed #8033 -- Explained app registry error during translation setup

Thanks Tim Graham and Aymeric Augustin for the review.
Cleaned temp dir in symlinks_supported()

Refs #21482.
Ensured cache tests do not leak temp dirs

Refs #17215.
Created import-time test temp dirs in known location

Refs #17215. In the same spirit as 5de31cb8cb.
Fixed #22888 -- Removed some unnecessary text in tutorial 3.
Fixed test failures introduced by refs #22881.
Fixed problem introduced with #refs 13711.
Removed 'to_field' from ForeignKey(settings.AUTH_USER_MODEL) in admin's initial migration.

This enables using a custom user model with a primary key with a name
different than 'id'; refs #22889.
Refactored common code in handlers/base.py and urlresolvers.py
Fixed typo: MultipleModelChoiceField -> ModelMultipleChoiceField.
Simplified test of contrib.auth.tests.
Fixed #17903 -- Modified ModelBackend to eliminate permissions on inactive users.

Thanks to @SmileyChris for the report and @timgraham for review.
Fixed #22487: Don't flush out data from before normal TestCases
Fixed #22889: Unneeded to_field in fk.deconstruct causing swap issues
Fixed #22708: Typo in autodetector base dependency gen