Ignore coverage HTML report output dir in tests.

Added it to the list of dirs ignored by tests/runtests.py.
Made coverage ignore files without associated source code.

This only affests reporting not data collection and allows coverage.py
to succesfully finish the generation of e.g. the HTML report.

Cases of code whose execution data is collected during the run phase but
for which no associated source code files can be found at the reporting
phase include tests with egg files and Python module files created at
test execution-time.
Added further fixes, tests for #19949/f33db5a09a.

Thanks Susan Tan. Refs #19949.
Merge branch 'master' into cookies-settings-refactor
Added a dict_setting test case/method decorator.

It's similar to override_settings and  allows to override [part of]
the value of a dictionary Django setting during the duration of the
affected test code and express the new values with another
dictionary in a compact way.