Fixed #22399 -- Forced fixture reading in binary mode

This might help on systems where default encoding is not UTF-8 (and
on Python 3).
Thanks bacilla for the report.
Fixed #22472 -- Clarified meaning of dots in tutorial 4 code block.
Adapted fixture read mode to file type

Binary mode added in ed532a6a1e is not supported by ZipFile.
Refs #22399.
Fixed #22473 -- Emphasized that Model.clean() is not called from Model.save().
Fixed #22458 -- Added a note about MySQL utf8_unicode_ci collation

Thanks tobami at gmail.com for the report.
Moved RemoteUserBackend documentation to reference guide.
Fixed #22397 -- Issues removing M2M field with explicit through model

Changed the migration autodetector to remove models last so that FK
and M2M fields will not be left as dangling references. Added a check
in the migration state renderer to error out in the presence of
dangling references instead of leaving them as strings. Fixed a bug
in the sqlite backend to handle the deletion of M2M fields with
"through" models properly (i.e., do nothing successfully).

Thanks to melinath for report, loic for tests and andrewgodwin and
charettes for assistance with architecture.
Fixed #22417 -- Added additional documentation for refs #16969.

Thanks Jon Foster for the report.
Changed paths in docs that referred to Python 2.
Fixed flake8 errors.
Fixed #22402 -- Consolidated model_inheritance tests.

The model_inheritance_same_model_name tests couldn't be run without the
model_inheritance tests. Make the problem go away by merging them.

Thanks timo for the report.
Further consolidated the model_inheritance tests.
Consolidated get_or_create tests.
Consolidated expressions tests.
Appeased flake8 2.1.0.