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
Prevented rendering attrs to be squashed in OSMWidget
Fixed #21002 -- Documented JSON session serialization requires string keys

Thanks jeroen.pulles at redslider.net for the report.
Isolated map creation JS code
Fixed #21003 -- Ensured geometry widget return value has SRID

Thanks Mathieu Leplatre for the report and initial patch.
Fixed #20973 -- Document serving static files without django.contrib.staticfiles
Silenced deprecation warnings in SortedDict tests; refs [07876cf02b]