Add extension point to rewrite JUnit test names

This adds an extension point, TestNameTransformer, which is called to transform JUnit test case names.
This is useful for JVM languages like scala which are more flexible than java with identifier naming.
Scala, for example, allows you to write test names between back ticks, and then encodes the name using valid java identifiers.
This extension point would allow a plugin to transform those names back in to readable names when they are displayed on the test result page.