Fixed #20142 -- Added error handling for fixture setup

TestCase._fixture_setup disables transactions so,
in case of an error, cleanup is needed to re-enable
transactions, otherwise following TransactionTestCase
would fail.
Fixed #14894 -- Ensure that activating a translation doesn't run into threading issues.

Thanks to maxbublis for the report and sergeykolosov for the patch.
Fixed #15201: Marked CACHE_MIDDLEWARE_ANONYMOUS_ONLY as deprecated
Merge branch 'master' of github.com:django/django
Merge pull request #1127 from filias/20142

Fixed #20142 -- Added error handling for fixture setup
Fixes a Python 3.x regression introduced in a19e9d80
Merge pull request #1135 from ambv/model_validation_fix

Fixes a Python 3.x regression introduced in a19e9d80
Fixed #20284 - Added a note about DEBUG in static file docs.

Thanks wim@ for the suggestion and Nicolas Noé for the patch.
Fixed #13958 -- problem reporting exception from \r-line-ended file

Thanks petrvanblokland for reporting and saz for the patch
Fixed ff881aef on Python 3.
Fixed #20440 -- Ensured CharField's max_length/min_length are integers
Fixed #20246 -- Added non-breaking spaces between values an units
Updated contrib.humanize translation template
Fixed #20004 -- Moved non DB-related assertions to SimpleTestCase.

Thanks zalew for the suggestion and work on a patch.

Also updated, tweaked and fixed testing documentation.