pylint error fixes
Remove unused imports.
[PTFM-8739] Semantically transform "git describe --always" output to semver
Port test_python target from Make to Python.
Allow specifying specific test cases to run.
Remove dead code.
Add test for output of "dx run <applet> -h".
Tweak semver version rewriting.

Previously git describe = "v0.61.0-19-gabcdef1" would get written as
"v0.61.0+19-gabcdef1"; this rewrites them to "v0.61.0+19.git.abcdef1" so
the usual tokenization by "." is more useful.
dx clearenv resets API server name to usable default; remove preprod config items
Also set DX_CLI_WD to usable default
Write test without chdir.

This avoids having the coverage files dumped in the working directory of
the "dx" process and interfering with the directory tree validation.
Revert "Write test without chdir."

This reverts commit 165a8f316e0dabd8f52095dfb2ed8ab0c9d0704a.
Another attempt to fix broken test.

The problem is due to an interaction between a directory change (chdir),
the coverage report generation, and a directory tree comparison
assertion.
Reset working directory to / whenever a project is selected
Revert "Tweak semver version rewriting."

This reverts commit b318b3e8c1ad6c7082b800d5c71a629084562e2d.
Narrow scope of previous commit to preserve dx cd and dx select semantics
Merge branch 'master' of github.com:dnanexus/dx-toolkit
Fix import error
Run dx clearenv --reset before every dxpy test
Exit with error code 3 when a job that was watched fails