Edited contrib.admin check messages for grammar and consistency.
Edited contrib.auth check messages for grammar and consistency.
Cleanup of contrib.contenttypes check messages.
Edited contrib.sites check messages for grammar and consistency.
Edited MySQL-specific check messages for grammar and consistency.
Edited model check messages for grammar and consistency.
Edited model and field checks for grammar and consistency.
Added first cut at reference documentation for the checks framework.
Fixed #22193 -- Made hint a truly optional arugment on check messages.

Thanks to Thomas Güttler for the suggestion.
Added backwards compatibliity checks to reference documentation.
Corrected expected test output to allow for cleanups in signal and compatibility checks.
Fixed #22135 -- Added ModelAdmin.get_changeform_initial_data().

Allows custom behavior for setting initial form data in ModelAdmin.
By default, initial data is set via GET params. The new method allows
this behavior to be overridden.

Thanks egasimus for the suggestion.
Fixed many typos in comments and docstrings.

Thanks Piotr Kasprzyk for help with the patch.
Fixed some typos and formatting issues in docs.
Removed doc newlines added in previous commit that caused build errors.
Fixed broken tests on Python 3 after 3c5fc708f1a8f60c05182869f6f3ec13697bbcf2.
Fixed #21908 -- Added example usage for ModelAdmin.get_inline_instances().

Thanks matt at schinckel.net for the suggestion.
Fixed #21986 -- Added some guidelines for database indexes.

Thanks django-issues at colons.co for the suggestion.
Allowed custom querysets when prefetching single valued relations

The original patch for custom prefetches didn't allow usage of custom
queryset for single valued relations (along ForeignKey or OneToOneKey).
Allowing these enables calling performance oriented queryset methods like
select_related or defer/only.

Thanks @akaariai and @timgraham for the reviews. Refs #17001.
Fixed #16727 -- Added protocol-relative URL support to contenttypes.views.shortcut.