[FEATURE] Collect data from running tests

Use CollectCoverage.php to run the tests. It will pass all arguments
through to PHPUnit. Currently, the tests will just run, no data is
collected from them (as no breakpoints can be set).

The data collection process is governed by the event loop of the
debugger client. ClientEventSubscriber hooks into this loop and
starts the tests as soon as the data collection environment is ready.
Breakpoints should be set when a new session is started by the debugger
engine, using the appropriate events. The tests run in a separate
process, using RunTest.php.

PHPUnit reports back test progress to the data collection process via a
FIFO queue, using JSON-encoded messages. Currently, start and end of
test suites and single tests is reported. This is a little more
complicated, as tests with a data provider will be reported as a whole
test suite (with each datum as a separate test within the suite).
Therefore, a little more effort will be necessary to keep this apart.
[CONFIG] Functional test configuration