Fixed #22699 -- Configure default settings in some management commands.

This makes it possible to run django.setup() in management commands that
don't need a settings module. In addition it simplifies error handling.

Thanks Claude for the review.
Fixed #21630 -- Simplified management command discovery

Thanks Aymeric Augustin for the report end the review.
Removed an old compatibility shim added in 1.0
Fix a regression introduced by f011b90363.

`django.get_version` was actually used by the module.
Argument to `reversed` must be a sequence on Py3.
Fixed #22601 -- Added a note about model inheritance.

Thanks semenov for the report.
Fixed spelling in docs.
Fixed #22714 -- Made contrib.gis use six-provided memoryview type

Thanks Tim Graham for the report.
Fixed #22715: Corrected sql for defaults of BinaryField on Oracle with Python3

While at it, fixed a problem in returning empty values
(still with BinaryField/Oracle/Python3).
Fixed #22684 -- Added `empty_label` option on `django.forms.extras.widets.SelectDateWidget`

Thanks danielsamuels for the report
Fixed constant_time_compare on Python 2.7.7

Python 2.7.7 includes compare_digest in the hmac module, but it requires
both arguments to have the same type. This is usually not a problem on
Python 3 since everything is text, but we have mixed unicode and str on
Python 2 -- hence make sure everything is bytes before feeding it into
compare_digest.
Set straight the sense of 'uppercases_column_names' feature flag
Fixed #22720 -- Migrations attempt to create _order twice.
Adding test to fix of duplicate _order fields (#22720)
Merge pull request #2734 from valberg/double_order_trouble

Fixed #22720 -- Migrations attempt to create _order twice.
Simplified, very slightly, some code in the oracle backend
Fixed several typos in Django
Fixed a typo that Tim Graham noticed
Fixed #20401 -- ContentTypeManager.get_for_model reads from db_for_read.

Thanks Simon Charette and Tim Graham for the reviews.
Making SQL management commands migration aware.