Fixed #22676 -- makemigrations --dry-run should not ask for defaults

Made the fix in InteractiveMigrationQuestioner class code, rather than
MigrationAutodetector, because --dry-run shouldn't affect whether
MigrationAutodetector will detect non-nullable fields, but the
questioner should skip the question and returns a None for default
(since that won't be used anyway) if --dry-run is used.
Fixed #22688 -- Documented ready() may be called more than once
Removed GeoWhereNode, obsoleted by GISLookup
Removed comment forgotten in 3caf957ed5
Removed code deprecated from Django 1.2
Fixed a few ResourceWarning in the test suite. Refs #22680.
Fixed a ResourceWarning that wasn't properly fixed by the previous commit.

Also removed unused import in runtests.py.
Fixed a few warnings in the testsuite.
Removed executeable bit from a few files.
Restored Python 2 compatibility.
Fixed typo in docs/ref/models/custom-lookups.txt.
Fixed too short title underline in docs.
Fixed #22692 -- Added docs for `makemigrations` two command options.

Added documentation about `--dry-run` and `--merge`.
Fix an error in a documented lookup example.
Fixed #22675 -- makemigrations --dry-run to output migrations to stdout.

`makemigrations --dry-run` will output the complete migrations file
that would be written if it's used along with `--verbosity 3`.