Small pod fixes
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
Split out test running from Test::Class::Moose itself

This totally break parallel running, but that needs some refactoring anyway,
and this is the first step.

I also need to add some tests for the backwards compat bits in
Test::Class::Moose.
Remove comment which is no longer relevant
Move the Runner code into a role and a concrete class - Runner::Sequential

Next step is to make some parallel runners that use that role
Move runner code to Test::Class::Moose::Runner::Sequential

Moved parallel code to Test::Class::Moose::Runner::Parallel

This is now parallel on a per test class instance basis rather than per
method.
Require Test::Most 0.32+

This shuts up a warning when the $builder object is destroyed
Add TCM::Role::Parallel back - all it does is add warning when calling runtests

Also fixed the back compat for TCM->runtests itself, which would not have
worked if someone called MySubclassOfTCM->runtests
Refactor runner into two classes - Runner & Executor

The Runner is the public-facing API. Internally, it does very little but pass
method calls onto an Executor. The Executors come in two flavors (for now?),
Sequential & Parallel. The Runner simply picks one of these based on how many
jobs are requested.