Fixed #17424 -- annotate() + exclude() bug

The bug was already fixed by 01b9c3d5193fe61b82ae8b26242a13fdec22f211,
so only tests added.

At the same time promote_joins()'s uncoditional flag is gone, it isn't
needed for anything any more.
Use `usegmt` flag in formatdate

Slightly cleaner and faster than string manipulation.
 
This flag has been available since Python 2.4:
http://docs.python.org/2/library/email.util.html#email.utils.formatdate
Fixed #20484 again -- added note to field documentation
Merge pull request #1453 from chrismedrela/ticket20484-improvement

Fixed #20484 again -- added note to field documentation
Fixed #20870 -- Documented django.utils.functional.cached_property
Clarify meaning of models.User.is_authenticated()
Form.clean() does not need to return cleaned_data.

If it does, that will be used as the cleaned_data. The default
implementation has been changed to match this change.
Revert change to the default Form.clean()

This means it doesn't break for people who are doing
`cleaned_data = super(FooForm, self).clean()`.
Added more on @cached_property, refs #20870
Merge pull request #1457 from jaimeirurzun/master

Clarified meaning of models.User.is_authenticated()
Added an anchor for django.forms.Form.clean in docs
Improved queryset handling and docs for (Single|Multiple)ObjectMixin.
Merge pull request #1460 from loic/ObjectMixins.get_queryset

Improved queryset handling and docs for (Single|Multiple)ObjectMixin.
Fixed #12288 -- Added unique validation for INSTALLED_APPS
Fixed test failures introduced by #12288
Fixed test failures on Python 3 - refs #12288
Fixed #9057 -- Added default_permissions model meta option.

Thanks hvendelbo for the suggestion and koenb for the draft patch.
SQLite test fix -- refs #9057
Fixed #18356 -- Gave the test client signals.template_rendered call a unique dispatch_uid

This prevents the test client context from being lost when the client
is used in a nested fashion.
Merge pull request #1447 from evansd/patch-1

Use `usegmt` flag in formatdate