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.
POC persistent, singular cache instances