Custom TestNG engine.
This engine interacts with the Teacup core project to get fixture data, such as the current fixture
and added clients/servers.
It can be time and resource consuming to use fixtures.
Therefore this engine will change the order of the tests before executing them so that the minimal
fixture changes are required.
This is done by extending the TestNG engine.