Major refactorings. Much of the messy test running stuff split out into Suite and Test classes