Added DualRunnerEnvironment which runs easy physics in the main/graphics thread (one state that does not timewarp on its own). The heavy physics stuff takes place in its own thread (multiple states that can timewarp). The heavy physics thread then corrects the single state of the easy thread as needed.

This required a moderate amount of refactoring in physics.
Existing test cases pass, going to add test cases for this new feature.
Here's the first failing test case for the new dual runner
Fixed test case failure
Remove debugging statement
small update to test case
Improved test case, Operations were removed too soon.
Added a new test case to test event resetting in dual runner (which is failing)
Fixed an issue in foreign state reset: Differences in history length per state for projectiles were not properly take into account.
bug fix, causedBy attribute in ActorDied event history is now reset properly in dual runner
Added a small debug line
Measuring coverage of generated protobuf classes is very useful.
small bug fix and thread priority
Slight reverting in EnvironmentConf
small debug line
slight improvement and fix in the demo game config
Fixed 2 bugs that could cause double (or more) kills. They were introduced by the previous collision refactor
ScenarioPlayer is able to optionally use dual runner now.
When a dual runner reset is needed, the lock in the main thread will wait longer and longer until it is able to acquire the lock.
bug fix, forgot to register the dual runner loop event
oops