Merge pull request #27 from autarch/autarch/refactor-run-test-class

Made all lexically scoped private subs into actual private subs so roles...
Fix test failure line reporting

When using the parallel role, the runtest method gets wrapped with Moose
'around' resulting in roughly 4 levels of wrapped code.
Test::Builder needs to be told that the failure doesn't come from
Test::Class::Moose:Role::Parallel
Merge pull request #28 from shumphrey/fix-some-builer-report-levels

Fix test failure line reporting with Role::Parallel
Ignore various piece of dzil & Perl cruft
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.