Fixed #19637 -- Ensured AdminEmailHandler fails silently

Thanks lsaffre for the report. Refs #19325.
Fixed #18051 -- Allowed admin fieldsets to contain lists

Thanks Ricardo di Virgilio for the report, Mateus Gondim for the
patch and Nick Sandford for the review.
Fixed error introduced when testing patch for 013db6ba85

Shame on me.
Simplified a i18n test.
Fixed #19596 -- Use `_default_manager` instead of `objects` in the auth app.

This is needed to support custom user models which don't define a manager
named `objects`.
Fixed #19523 -- Improved performance of Django's bash completion

Previous version took about 150ms to source, even on a warm cache,
primarily because it forks+execs /usr/bin/basename 44 times.
This patch makes it faster by a factor of 5 (and I imagine that a little
more thought would reduce the time to effectively zero).
Fixed #19640 - Added inlineformset_factory to reference docs.

Thanks wim@ for the suggestion.
Fixed #19477 - Documented generic_inlineformset_factory

Thanks epicserve for the suggestion.
Fixed #19633 - Discouraged use of gunicorn's Django integration.
Remove dup_select_related method.

This undocumented method was used in an old version of the admin, is
totally untested and hails from 2008. Although it's listed in the
"public methods" section, as it's not documented or used I don't think
it needs a deprecation path.

If we think it's useful I'll write some tests/docs for it instead...
Merge pull request #666 from mjtamlyn/dup-select-related

Remove dup_select_related method.
Fixed #19610 - Added enctype note to forms topics doc.

Thanks will@ for the suggestion.
Fixed typo.
Fixed #17416 -- Added widgets argument to inlineformset_factory and modelformset_factory
Fixed #19125 -- The startproject command should validate the name earlier

Thanks Łukasz Rekucki for the report and the patch.
Minor optimization in the static serve view.
More i18n makemessages tests tweaks.
Fixed a typo.
Fixed #19639 - Updated contributing to reflect model choices best practices.

Thanks charettes.
Fixed #6682 -- Made shell's REPL actually execute $PYTHONSTARTUP and `~/.pythonrc.py`.

Also:

* Added a ``--no-startup`` option to disable this behavior. Previous
  logic to try to execute the code in charge of this funcionality was
  flawed (it only tried to do so if the user asked for ipython/bpython
  and they weren't found)
* Expand ``~`` in PYTHONSTARTUP value.

Thanks hekevintran at gmail dot com  for the report and initial patch.

Refs #3381.