Internal engine refactor
A major refactor of some of the internal mechanisms of dockertest.
We've split off the Runner
into an Engine
component, to capture the invariants in the lifecycle of the runner. We are in essence doing the same things, but keeping the Keeper
entries separate from the lookup metadata. Some additional cloning as been performed, but I believe we are at a stage where further refactorings can more easily be applied.
This refactor also fixes an external static container bug, for which a test has been added.