Fixed #23923 -- Promoted Django's deprecation warnings to errors in runtests.py
Fixed #17890 -- Added an extra_context parameter to AdminSite.password_change().
Fixed #23930 -- Added copies of captured_std* managers from CPython's test.support.

StringIO import was adapted for compatibility with Python 2.
Restored the 'TEST_' prefix in the warning about deprecated test database settings
Fixed #23880 -- Added missing index_together handling for SQLite
Fixed #23933 -- Made override_settings(DATABASE_ROUTERS) affect the master router.
Replaced router.routers usage with override_settings(DATABASE_ROUTERS); refs #23933.
Removed a no-op statement in tests/multiple_database/tests.py.
Removed an incorrect docstring in tests/multiple_database/tests.py.
Corrected a docstring in tests/migrations/test_operations.py.
Fixed #18586 -- Split up model_package.ModelPackageTests.
Removed a clear_cache statement in contrib.sites.create_default_site.

It was originally added to fix a test (refs #7514); but Site now has a
pre_save signal handler (refs #19698) to clear the cache which makes
this call redundant.
Fixed #23909 -- Prevented crash when collecting SQL for RunSQL

Thanks James Rivett-Carnac for the report and Markus Holtermann
for the review.
Fixed #23929 -- Added more tests for create_default_site.

Refs: #15346, #15573, #16353, #16828.
Fixed admin_views test from refs #7361 (name was too long).
Fixed #23289 -- Added mock as a test dependency.
Fixed #23807 - Added ability to ignore psycopg2 version part if it is non-digit