The existing mechanism for chaining environment dictionaries is a hack
that Guido has noted as abuse of the '**' mechanism:
https://mail.python.org/pipermail/python-dev/2010-April/099459.html

Create a subclass that allows 'adding' in a single expression, as
copy() + update() takes two lines.

Use str.join for listing PATHs to keep lines short. This also exposed
an error in the Windows PATH, with a missing semicolon between
r'C:\msys64\usr\bin' and r'C:\Windows\system32'.

Move the environments into a separate file to keep them all together.
Rename the various environment variables for clarity and consistency.

The environments.py file now passes flake8; this should be added to our
test suite.