Fixed #21840 -- Moved dunder methods from SimpleLazyObject to LazyObject.

This commit also added tests for LazyObject and refactored
the testsuite of SimpleLazyObject so that it can share
test cases with LazyObject.
Simplified implementation of collectstatic command.

Since d2e242d16c6dde6f4736086fb38057424bed3edb made isinstance()
calls work correctly on LazyObject, we can simplify the
implementation of is_local_storage added in
7e27885c6e7588471fd94a4def16b7081577bdfc.
Merge pull request #2221 from bmispelon/LazyObject-refactor

Fixed #21840 -- Moved dunder methods from SimpleLazyObject to LazyObject...
Fixed #22275: unique_together broken if ForeignKey split into new file.

Thanks to bak1an for the patch.
Mark model renaming as irreversible for now (#22248)
Removed a file accidentally added in 81f5408c7a16b8c79053950f05fe7a873506ca55.
Fixed a small collection of flake8 violations that had snuck in
Fixed #22163 -- Stopped ignoring unhandled kwargs in select_for_update.
Fixed minor syntax error in Queryset docs
Fixed #22255 -- Added support for specifying re flags in RegexValidator
Bumped version to reflect master is now pre-1.8.
Added stub release notes for 1.8.
Fixed flake8 warnings.
Removed contrib.comments per deprecation timeline.
Removed settings.SEND_BROKEN_LINK_EMAILS per deprecation timeline.
Removed backward compatible shims to rename get_query_set and similar queryset methods.

Also removed the backward compatible shims introduced to rename the
attributes ChangeList.root_query_set and ChangeList.query_set.
Removed django.views.defaults.shortcut and django.conf.urls.shortcut per deprecation timeline.
Removed Model._meta.get_(add|change|delete)_permission methods per deprecation timeline.
Removed fix_ampersands template filter per deprecation timeline.

Also removed related utility functions:
* django.utils.html.fix_ampersands
* django.utils.html.clean_html
Removed settings.CACHE_MIDDLEWARE_ANONYMOUS_ONLY per deprecation timeline.

refs #15201.