Move GetRuntimeClass and GetRuntimeMethod out to extension methods.
Move test class creation & disposal out of TestInvoker.
Make TestInvoker.InvokeTestMethodAsync public.
Extract TestMethodTestCase from XunitTestCase, and rename several supporting classes.
TestFrameworkAttribute had the wrong discoverer on it.
TestAssembly 'configurationFile' argument is now optional (will default to the app domain's config file, which is the right answer 99% of the time). Add guards to the TestXxx classes, and XML documentation for the constructor arguments.
Move basic framework version logic into TestAssemblyRunner.GetTestFrameworkEnvironment.