ByElapsed maps all test cases by name, and if there is more than one instance of a TestCase, uses fn to select the elapsed time for the group.
All cases are assumed to be part of the same package.
Slowest returns a slice of all tests with an elapsed time greater than threshold. The slice is sorted by Elapsed time in descending order (slowest test first).
If there are multiple runs of a TestCase, all of them will be represented by a single TestCase with the median elapsed time in the returned slice.