Extract TestSuite out into its own package to close #737