ChildProcess component
Refactor Process cleanup timer
Prefer missing exit code to exception for missing sigchild compatibility

This removes a possible thrown exception from getExitCode(), which might have only shown up when the "exit" event was fired. Instead, do not allow sigchild compatibility to be changed once a process is running.
Test Process::start() exception if process is already running
Cleanup Process use statements and make updateStatus() private
Bump dev-master branch alias in ChildProcess composer.json
Complete README for ChildProcess component
Throw exception in Process:updateStatus() if proc_get_status() fails
Process:getPid() should return null for empty process status

This makes the return value consistent with the method documentation. Note that we don't check that the 'pid' property exists for the same reason we don't check other fields in updateStatus(). By that point, we should assume proc_get_status()'s return value is valid and includes the array keys mentioned in its documentation.
Replace isset() statements with null equality checks
Remove some more PHP 5.3 $that artifacts
Update to evenement ~2.0
Update child repos to PSR-4 for git subs-plit
Move tests to each component
Make components' tests run on their own and from main repo.
Each component has dedicated test config and bootstrap.
Duplication of parts of the skeleton is not ideal, but helps to reduce
dependencies between each test suite. Also, this eases the future
subtree split.