Remove unnecessary check on __set__ parameters.
Removed fragile admin validation of fields on ModelForm

Refs #19445
Removed some failing tests missed in 1556b1c3b7a18cadf4d66d2ab6301d7fe8646ba5
Fixed #20215 -- Disabled persistent connections by default.
Removed a test that didn't make sense; code could never be called the way the test was written.
Made gis_terms be a set, rather than a dict with None for all keys.
Fixed conditional skipping of test for left/right lookup types.

connection.ops.spatial_version is None for some backends (eg. MySQL) and
the comparison fails on Python 3 with TypeError.
Further removal of static admin validation that can fail erroneously
Fixed #19733 - deprecated ModelForms without 'fields' or 'exclude', and added '__all__' shortcut

This also updates all dependent functionality, including modelform_factory
 and modelformset_factory, and the generic views `ModelFormMixin`,
 `CreateView` and `UpdateView` which gain a new `fields` attribute.
Fixed a test that fails under Python 3.
Fixed #20384 -- Forced GeoIP_open path argument to bytestring

Thanks Julian Wachholz for the report.
[py3] Made GeoIP tests pass with Python 3
Fixed #20385 -- Typo in files docs.
Fixed two admin_views tests under Oracle.

Thanks Anssi for the review.
Fixed an obvious typo.
Updated my bio.
Fixed #19939 -- generic relations + split_exclude regression

Added a test, the issue was already fixed (likely by the patch
for #19385).
Fixed #17365, #17366, #18727 -- Switched to discovery test runner.

Thanks to Preston Timmons for the bulk of the work on the patch, especially
updating Django's own test suite to comply with the requirements of the new
runner. Thanks also to Jannis Leidel and Mahdi Yusuf for earlier work on the
patch and the discovery runner.

Refs #11077, #17032, and #18670.
Fixed a regression in the test runner loading of runtests.py.

Refs #17365, #17366, #18727.
Properly force bytes or str for bcrypt on Python3