Fix a type in the Changes doc
Make it possible for a test class to provide multiple instances of itself to the runner code
Make it possible to pass args to test class when instances are being created.
Make tcm_instance_name protected - _tcm_instance_name
Move _tcm_run_test_method so it comes after the code that calls it
Add _start_benchmark call for class report that I accidentally removed
Renamed TCM::Report::Class to Report::Instance

I also changed the relevant methods in that class, as well as other classes
that use this class somehow.

As part of this, I renamed various $report_class vars & report_class
attributes to instance_report. The former naming is very confusing, since it
can be read as "the class to use for reports" as opposed to "a report on a
class", whereas "instance_report" is clearly "a report on an instance".

I didn't add any back compat bits since the reporting code is clearly marked
as alpha and unstable in the docs.
Update comment to explain why we need grab the original Test::Builder output
Changed how instance naming works

Instead of having classes provide a _tcm_instance_name method, we'll simply
expect constructor param sets to be returned as a hash. They keys are the
instance name and the values are hashrefs of constructor args.
AFAICT nothing is using MooseX::ClassAttribute