Fix SettingsCustomLoggingTest on Windows when path contains \u
Fixed #21740 -- Allowed test client data to be an empty string

This fixes a regression introduced by 2a31d00933.
Thanks tony-zhu for the report.
Fixed firstof docs error introduced in 1ea44a; refs #17906.
Fixed #23396 -- Ensured ValueQuerySets are not checked by check_related_objects.
Fixed #23695 -- Made condition decorator work for HEAD requests without ETag.
Fixed #23107 -- Made runserver output respect --no-color.

This commit reverts 67d7da5fb9498b811f0168f5df2308ad4743027f.

The previous fix changed the environment globally, which meant
that any call to `call_command(no_color=True)` prevented further
`call_command` with color.

This fix still relies on the environment because it's currently the only
way to reach WSGIRequestHandler, but it's now limited to the `runserver`
command. This seems an acceptable compromise considering `runserver` runs
indefinitely.

Thanks Tim Graham for the review.
Fixed #23583 -- More selectively ignored static/media roots

Fixed a regression introduced by 28efafa24c.
Thanks Michal Čihař for the report and initial patch, and
Collin Anderson and Tim Graham for the reviews.
Removed unneeded override_system_checks

Refs #23685.
Fixed #23653 -- Fixed Windows failure of a logging test added in refs #23569.