Fixed #21478 -- Corrected docs for when Field.db_type() is called.
Introduced as_bytes for SafeMIMEText (and other SafeMIME-classes).

This is to provide a consistent interface (namely bytes) for the smtp
backend which after all sends bytes over the wire; encoding with as_string
yields different results since mails as unicode are not really specified.

as_string stays for backwardscompatibilty mostly and some debug outputs.
But keep in mind that the output doesn't match as_bytes!
Avoided leaking state on exceptions in populate_models().
Populated the app registry earlier at startup.

Refs #1796, #21676.
Added AppConfig.setup() to run setup code.
Updated advice on connecting signals at startup.
Populated Apps instances immediately by default.
Stopped populating the app registry as a side effect.

Since it triggers imports, it shouldn't be done lightly.

This commit adds a public API for doing it explicitly, django.setup(),
and does it automatically when using manage.py and wsgi.py.
Removed postponing in Apps.populate_models.

To the best of my understanding, since populate_models() is now called
as soon as Django starts, it cannot be called while a models module is
being imported, and that removes the need for postponing.

(If hell breaks loose we'll revert this commit.)

Refs #21681.
Merged Apps.populate_apps() and populate_models().

After the recent series of refactorings, there's no reason to keep
two distinct methods.

Refs #21681.
Fixed #21710 -- Documented User.get_short_name()

Thanks Keryn Knight for the report.
Changed console and filebackend to use msg.as_bytes to output the data as it would get send via smtp.
Decode mails using the message encoding.
Fixed #21708 -- Added some headings to separate unrelated topics.

Thanks ashley at ashleymills.com for the suggestion.
Merge pull request #2126 from apollo13/email_bytes

Many thanks to @bitdancer and @aaugustin for answering my stupid questions about (mail)encodings and pointing me in the right direction.
Fixed a broken link in docs/intro/tutorial01.txt.
Removed the only_with_models_module argument of get_model[s].

Now that the refactorings are complete, it isn't particularly useful any
more, nor very well named. Let's keep the API as simple as possible.

Fixed #21689.
Added release notes for today's app-loading improvements.
Renamed syndication tests

To resolve the conflict between application names.
only attempt to create the postgis extension when it does not already exist