Fixed #21581 -- Fixed a number of issues with collectstatic.

When STATIC_ROOT wasn't set, collectstatic --clear would delete
every files within the current directory and its descendants.

This patch makes the following changes:

Prevent collectstatic from running if STATIC_ROOT isn't set.

Fixed an issue that prevented collectstatic from displaying the
destination directory.

Changed the warning header to notify when the command is run
in dry-run mode.
Django sees more than 1mm hits per hour

Disqus regularly does 40-50k/s
Properly assigned app_label to GIS test models.

Used abstract inheritance to cut down on code repetition.
Fixed a few issues in previous commit.
Readded field unadvertantly removed in fedfd5030
Fixed #21206 -- Fixed test discovery without labels

Added test to verify an empty label performs discovery on the current
working directory.
Removed unused function in test_runner tests

This was used for python 2.6 and unittest2 compatibility. It was
forgotten when the code that used it was removed.
Documented unicity rules in INSTALLED_APPS.

Refs #12288, #21679.
Wiped get_commands() cache when INSTALLED_APPS changes.

Refs #21018, #21688.
Fixed #21018 -- Reversed precedence order for management commands.
Several small whitespace fixes for styleguide/flake8 violations
Adjusted previous commit for Python 3.
Updated release notes on app_label.

Django determines automatically which application models belong to,
provided the application can be imported without importing models.
Prevented calling setup() inside catch_warnings

When django.setup() (and then configure_logging) is called inside
catch_warnings, logging setup is negatively affected (notably
warnings.showwarning definition).
Fix typo in 0ce945a67151acf2c58bc35a47f4c3d45ff30085.

Thanks to Loic for the report.
Fixed typos. Changed grammar.

Minor typos. Some grammar changes.
Merge pull request #2137 from ftobia/patch-1

Fixed typos. Changed grammar.
Moved django.setup() to ManagementUtility

In get_commands, setup() might already have been called, for example
when the management command is called through call_command. Moving
setup() to ManagementUtility so as it is only called when the command
is run from command line.
Fixed minor typos.
Merge pull request #2138 from NathanRSmith/master

Fixed minor typos in GEOS API doc page.