Fixed #21005 -- Made schema tests language-independent

Thanks Simon Charette for the review.
Fixed #20999 - Allow overriding formfield class with choices, without subclass restrictions.

Refs #18162. Thanks claudep and mjtamlyn for review.
Fixed typo in docs/ref/models/options.txt
Fixed copy/paste error in measurement docs
Made the doc about translating string literals in templates more prominent.
Fixed #13182 -- Prevented trailing spaces in indented json output

Thanks Stéphane Raimbault for the report and the initial patch.
Properly skipped yaml tests when not installed
Made django.test.testcases not depend on staticfiles contrib app.

Do this by introducing a django.contrib.staticfiles.testing.StaticLiveServerCase
unittest TestCase subclass.

Fixes #20739.
Updated Selenium-based tests after e909ceae9b.
Fixed #17074 -- Improved first field detection in admin add form

Thanks Kidwind for the report and Julien Phalip for the initial
patch.
Fixed #21008 -- Made MigrationWriter handle Promise objects.
Remove usage of deprecated module_name model option introduced in 1c0c879be3.
Change test added in 3e34005b1b to be more stable.

It could fail when actual serialization JSON field ordering was
different from the hard-coded one. Refs #13182.
Converted tests for admin first form widget auto-focus to Selenium.

Refs #1707 and 1c0c879be3.
Updated the bundled version of six to 1.4.0.
Replaced "not PY3" by "PY2", new in six 1.4.0.
Used six.moves.zip_longest, new in six 1.4.0.
Fixed #20998 -- Allow custom (de)serialization for GIS widgets

Thanks Mathieu Leplatre for the report and the initial patch.
Fixed gis test to run on non gis-enabled settings

Refs #20998.
Fixed syntax error in OSMWidget