Fixed #23924 -- Made EmailMessage raise TypeError for type checks
Fixed #23338 -- Added warning when unique=True on ForeigKey

Thanks Jonathan Lindén for the initial patch, and Tim Graham
and Gabe Jackson for the suggestions.
Fixed #16731 -- Made pattern lookups work properly with F() expressions
Fixed #23910 -- Added reply_to parameter to EmailMessage

Thanks to Berker Peksag and Tim Graham for the review and suggestions.
Fixed #23894 -- Made deconstruct methods favor kwargs over args
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.
Cleaned up the django.template namespace.

Since this module is going to hold both the implementation of the Django
Template Language and the infrastructure for Multiple Template Engines,
it should be untied from the DTL as much as possible within our
backwards-compatibility policy.

Only public APIs (i.e. APIs mentioned in the documentation) were left.
Imported BaseEngine from the DEP.

i18n is left aside for now.
Added initial support for loading template engines.
Added dummy template backend.
Added jinja2 template backend.
Added Django template backend.
Looked up the default template engine in the list of all engines.
Removed private API django.template.loader.find_template.
Removed some uses of global APIs from django.template.loader.