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.
Move docstrings to top-level package, and update them to reflect the current behavior.
Remove unused code in ptvsd.common.log.
Move sys.path/prefix/site_packages logging into ptvsd.common.log, and log it from adapter and server to the same level of detail as the tests.
Fix injected code snipped for attach-by-PID.
Fix some Unicode issues in adapter and tests.
Refactor Timeline, debug.Session, and start methods.
Implement per-test-runner out-of-process watchdog for processes spawned by tests.
Add file logging for tests and watchdog.
Improve stdio capture in debug.Session when test fails.
Remove redundant logging in debug.Session.
Fix Flask and Django multiprocess tests.
Fix test logs not being captured by pytest.
Fix "import debug_me" check improperly applied in tests where it is unnecessary.
Fix some clarifying patterns not respecting the underlying pattern.
Add pattern helpers for strings: starting_with, ending_with, containing.
Move DAP test helpers to a separate module, and add a helper for frames.
Add support for line markers when setting breakpoints and matching frames.
Assorted test fixes around handling of Unicode and paths.
The system tests have a number of minor formatting and structural issues that would be better to clean up sooner rather than later. This PR addresses nearly all of them.