Allow custom test runners to create their own TestClasses and customize the scanning of annotations.

This is to allow the creation of a test runner that looks for @Test annotations on virtual extension methods in (Java 8) interfaces, as discussed on [this closed pull-request](https://github.com/junit-team/junit/pull/760).

You can see the test runner I built on these extensions [here](https://github.com/motlin/JUnit-Java-8-Runner). It's a work in progress.