Fiddle with engine ideas.
Simply the logic to get rid of nested for loops
Merge branch 'master' into paultag/experimental/engine
Add in a rough test for an engine test idea
Start to move engines around a bit.
finish the move
split the engine test cases
Split out baseclass
change the patch path