Fix#357: "argsExpansion" does not do what it says in VSCode
Treat non-array "args" in debug config as a request to prevent shell argument escaping and allow shell expansion.
Remove "argsExpansion".
Starting with Python 3.3, MutableMapping and MutableSet are part
of collections.abc module rather than collections. Importing them
from the old module is deprecated and no longer works in Python 3.10.
Support both modules conditionally for best compatibility.
Expose "pythonArgs" to clients.
Make "python" usable in tests in lieu of "pythonPath", and make the runners use it.
Add tests for all combinations of "python"/"pythonPath" and "pythonArgs".
Add new property "argsExpansion", which defaults to "shell", but can be explicitly set to "none" to request no expansion.
Propagate "args" to launcher via CLI or JSON, depending on the value of "argsExpansion".
Move the logic to compute process name back to the adapter, alongside other processing of "launch" targets.
Fix launcher not propagating debuggee exit code.
Fix attach-by-PID without explicit --log-dir overriding PTVSD_LOG_DIR (and disabling logging).
Improve test logging, with a separate directory for every test.
Various test fixes.