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.
When using launcher to redirect output, tell pydevd to not perform redirection.
Always propagate "output" events from the server to the IDE.
Fix test_log_point to not assume that logpoint output is strictly ordered wrt regular output.
Fix#1721 "runInTerminal" is broken on non-Windows platforms.
Fix#1722: Output is not captured in "noDebug" with "runInTerminal"
Groundwork for #1713: adapter: multiple concurrent sessions
Move "launch" request parsing and debuggee process spawning, PID reporting and tracking, stdio "output" capture, and exit code reporting into launcher. Launcher now communicates to the adapter via a full-fledged message channel.
Refactor adapter. Add an abstraction for a debug session, and treat IDE, launcher, and debug server as separate components managed by that session.
Improve adapter logging to capture information about current debug session, and current message handler if any.
Fix reporting exceptions from message handlers.
Various test fixes.
* Bunch of minor test fixes
* Fix linter and multiproc
* Remove missed os.environ
* Rename and move stop_debugging
* Add evaluate helper
* Add exit_code property
* Enable pytest and flake8 in workspace
* Fix test failure
* Set ptvsd python path in tests
* Rename exit_code to expected_exit_code
Add multiprocessing= argument to attach() and enable_attach().
Refactor common code in attach() and enable_attach().
Remove broken legacy multiproc implementation.
Ensure that all captured output is reported to the IDE before reporting process exit.
Correctly report "process", "exited", and "terminated" events for "noDebug".
Don't treat partial message reads as fatal error.
Switch test_nodebug to "internalConsole", so that it can properly produce "output" events.
Expect failure response from "setBreakpoints" in test_nodebug.
Fix environment dict being shared between subsequent test runs, causing spurious enable_attach() in debuggee.
Fix ordering in debuggee and adapter cleanup in debug.Session.
Fix launcher.py on Python 2.7