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 #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
Fixed #20868 -- Added an email to django-announce as a security step.

Thanks garrison for the report.
Fixed #20828 -- Allowed @permission_required to take a list of permissions

Thanks Giggaflop for the suggestion.
Test that django.views.static.serve() generates 404 status codes.

Also, change tests to be based on SimpleTestCase.