Fixed documentation of disable_constraint_checking

The docstring and base implementation of disable_constraint_checking do not indicate that a return value is expected for proper behavior.
Added clarification to the docs, pointing out that unique_for_date only considers the date portion of DateTime fields.
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.
Update customizing.txt

The origin statement "which could be ... or whatever" **misguides** many newbies like me.

In fact, the ``login`` function in ``contrib.auth`` stores ``user.pk`` in session, then ``get_user`` function in ``contrib.auth`` gets ``user.pk`` in session and then passes it to your custom ``get_user`` as ``user_id``.

Which means, ``user_id`` prarameter in your custom ``get_user`` has to be the primary key of ``User`` object, too.
Fixed a regression in the test runner loading of runtests.py.

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