Clearer explanation when exception has no message

"No exception supplied" is misleading; actually there is an exception,
but there's no message string.
Fixed #20503 - Moved doctest utilities in with the rest of the deprecated test code.

The ``DocTestRunner`` and ``OutputChecker`` were formerly in
``django.test.testcases``, now they are in ``django.test.simple``. This avoids
triggering the ``django.test._doctest`` deprecation message with any import
from ``django.test``. Since these utility classes are undocumented internal
API, they can be moved without a separate deprecation process.

Also removed the deprecation warnings specific to these classes, as they are
now covered by the module-level warning in ``django.test.simple``.

Thanks Anssi for the report.

Refs #17365.
Fixed random aggregation_regress test_more_more_more() failure

The cause was assuming that an unordered queryset returns the values
always in the same order.
Fixed #20513 - Expanded docs on QuerySet caching.

Thanks seddonym.
Fixed #20228 - Documented unique_for_date and exclude behavior.

Thanks Deepak Thukral for the patch.
Fixed #20523 - Incorrect form field for FilePathField.

Thanks sane4ka.sh@ for the report.
Fixed #20242 - Added a regression test for prefetch_related.

Issue was fixed by removal of chunked reads from
QuerySet iteration in 70679243d1786e03557c28929f9762a119e3ac14.

Thanks Simeon Visser for the patch.
Fixed #20484 -- Added model validation for GenericIPAddressField

GenericIPAddressField must not allow blank for NOT NULL fields

Thanks Erik Romijn.
Fixed #20525 -- Added versionadded for clearsessions.

Thanks wiml@.
Fixed #20250 - Added a regression test for negated Q + annotate

Thanks nott.
Fixed #15653 - Error in admin pagination tag.

Thanks jcumbo@ for the report and adamzap
and nott for the patch.
Fixed #15697 -- Made sqlindexes aware of auto-created tables

Thanks mbertheau for the report and Ash Christopher for the
initial patch.
Fixed #20331 -- Allowed admin actions to serve StreamingHttpResponses

Thanks Edwin.
Fixed a failure on Python 3 introduced by 5939864616d56cf949f0bca348a8e05230b62fe0.

Refs #15653.
Don't hard-code class names when calling static methods

normalize_email should be called on the instance, not the class. This
has the same effect normally but is more helpful to subclassers. When
methods are called directly on the class, subclasses can't override
them.
Fixed regroup example.

Chicago was missing.
Made an app-cache test not dependent on all models in defer_regress
Fixed #16436 -- defer + annotate + select_related crash

Correctly calculate the ``aggregate_start`` offset from loaded fields,
if any are deferred, instead of ``self.query.select`` which includes all
fields on the model.

Also made some PEP 8 fixes.
Fixed #20509 - Proper parsing for dumpdata --pks option.

Thanks weipin for the report and Baptiste Mispelon for the patch.
Fixed #20272 - Moved update_fields existence check into Model._do_update.

Thanks Gavin Wahl.