Fixed #17304 -- Allow single-path and configured-path namespace packages as apps.

Also document the conditions under which a namespace package may or may not be
a Django app, and raise a clearer error message in those cases where it may not
be.

Thanks Aymeric for review and consultation.
Docs correction: apps loaded from eggs do not have appconfig.path None.
Moved sys.path-extending decorator to django.test.utils and used throughout test suite.

Thanks Aymeric for the suggestion.
Moved RequestSite and get_current_site.

Following the app-loading refactor, these objects must live outside of
django.contrib.sites.models because they must be available without
importing the django.contrib.sites.models module when
django.contrib.sites isn't installed.

Refs #21680. Thanks Carl and Loic for reporting this issue.
Fixed typo. Refs #21836.
Fixed #21702 -- get_model('app_label.ModelName').

Also added tests for get_model.
Took advantage of the new get_model API. Refs #21702.
Fixed #21877 -- Renamed django.apps.base to config.
Fixed #21880 -- Added missing items to django.utils.timezone.__all__.

Thanks Wim for the report.
Fixed #21866 -- Replaced "COMMIT" in managmement command SQL with backend hook.
Fixed some missing/extraneous new line warnings.
Fixed #19774 -- Deprecated the contenttypes.generic module.

It contained models, forms and admin objects causing undesirable
import side effects. Refs #16368.

Thanks to Ramiro, Carl and Loïc for the review.
Fixed #21823 -- Upgraded six to 1.5.2
Added missing items to 1.6.2 release notes.
Added release note stubs for 1.5.6 and 1.4.11.