Removed code that assumed BooleanField could be null.

Such a field will no longer pass model validation.
Fixed broken links in docs.
Fixed #21792 -- Documented Form.has_changed()

Thanks bjb at credil.org for the suggestion and
Ivan Mesic for the draft patch.
Fixed #21603 -- Fixed complex RawQuerySets queries on some versions of SQLite.
Fixed #23244: Error altering FK to non-FK in migrations
Moved index dropping after FK dropping to please MySQL and fix test
Fixed #23226: Model options appearing as bytes type in migrations
Removed a doc reference to the deprecated `mimetype` kwarg.
Fixed #23252: Call out removed features in release notes.

Also added StrAndUnicode mixin note to deprecation plan as it was
missing.
Added a missing unicode_literals that caused a test failure after refs #23226.
Use smart_text rather than naive forcing-to-unicode for state reading
Fixed flake8 warning.
Fixed #22982 -- Added GenericRelatedObjectManager.__str__. to prevent crash.

Thanks bendavis78 for the report.

Forwardport of 29585e9b6a from stable/1.7.x
Don't treat .pyc/pyo files as migrations. Refs #23237 among others.
Fixed #23257 -- Updated docs for new django-jython release.
Removed some tabs in the docs.
Fixed #23099 -- Removed usage of deprecated initial data in Django's test suite.

Thanks Claude Paroz for assistance with debugging the tests.
Fixed a non-deterministic test; refs #23099.
Fixed #22336 -- Added path matching for makemessages ignore option

This fixes a regression introduced by 9012a9e200.
Fixed #23264: Schema backends honour db_constraint