Fixed #21783: Use defaults for adding NOT NULL on sqlite
Fix unicode default input on py3
Merge pull request #1681 from loic/migrations.format

Fixed #21323 -- Improved readability of serialized Operation.
Fixed #21783: (again) Found second source of bug, also squashed it.
Fixed #21786: Bad behaviour when mixins + abstract bases for migrations
Fixed #21664: Multi-table inheritance was duplicating _ptr fields
Fixed #21638: Validators are now comparable, stops infinite user mig'ns
Remove unicode prefix that snuck in
Remove other unicode literal
Moved the loader tags registration with the other builtins.
Fixed #21290: Documented migration serializing and improved error
Fixed some admin sphinx definitions so links work properly.
Fixed #16905 -- Added extensible checks (nee validation) framework

This is the result of Christopher Medrela's 2013 Summer of Code project.

Thanks also to Preston Holmes, Tim Graham, Anssi Kääriäinen, Florian
Apolloner, and Alex Gaynor for review notes along the way.

Also: Fixes #8579, fixes #3055, fixes #19844.
Fixed a small collection of flake8 violations that had snuck in
Removed an inactive system check for upload_to.

Thanks to Simon Charette for the eagle eyes.
Corrected minor typo.

Thanks to @cjerdonek for the report.
Allow custom querysets when prefetching through SingleRelatedObjectDescriptor
and ReverseSingleRelatedObjectDescriptor.

Allowing it enables calling performance oriented queryset methods
like select_related when prefetching through single related objects.

Refs #17001.