Fixed #901 -- Added Model.refresh_from_db() method

Thanks to github aliases dbrgn, carljm, slurms, dfunckt, and timgraham
for reviews.
Fixed #23853 -- Added Join class to replace JoinInfo

Also removed Query.join_map. This structure was used to speed up join
reuse calculation. Initial benchmarking shows that this isn't actually
needed. If there are use cases where the removal has real-world
performance implications, it should be relatively straightforward to
reintroduce it as map {alias: [Join-like objects]}.
Fixed #23728 -- Added the --exit option to makemigrations.

If no changes that need migrations are found, `makemigrations --exit`
exits with error code 1.
Added 1.9/removed 1.5 on Python version support table.
Fixed #23925 -- Allowed settings.AUTHENTICATION_BACKENDS to reference import aliases
Fixed #4444 - Made runserver suppress 'broken pipe' errors

One handler in WSGIServer, to catch the error when raised from
SocketServer.BaseServer's finish_request, and one in WSGIRequestHandler
(by creating a subclass of ServerHandler), to catch the error when
raised in wsgiref.handlers.BaseHandler's finish_response.
Corrected deprecation warnings for RedirectView; refs #21587.
Fixed #23423 -- Added unaccent lookup in django.contrib.postgres
Silenced all admin validation warnings.

Warnings could escape depending on the order in which tests were run.
Removed instructions to create a PostgreSQL cluster in GIS docs

Creating a new cluster is neither required not recommendable for
most users. The previous section explains how to create a user
with sufficient permissions to automatically create a database
during tests.
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.