Foresight Concurrency Support(Do Not Merge)
pytest-parallel plugin fork the pytest main process for running test individually. It also reshape the pytest origin flow by overriding run test hooks. These cause the problem for current Foresight flow. Finish test run status data can not be prepared properly because of forked process. Handling this issue brings the enormous code change for the current logic. For now, we can only get test suite context in correct way. But, test runs always depict zero. To solve this problem, shared memory can be used but first processes that forked by pytest-parallel plugin should be detected and shared memory name is passed them as attribute. Also, forked processes' can be multi threaded. We also consider thread safety in the solution as well.