Factor out SoftwareResult::StageableSimple
Stop double validating objects.

__errors__ on the plan already includes __object_errors__
Rename 'combine' subroutine, name was too general
Remove duplicated finalize method
Remove empty has blocks
Don't cache available_fields_dict

This was causing some subtle problems with the plan validation tests.
The issue is that UR::Object::create_entity (which is called by
->create as well as ->__define__) calls __errors__ on the object.  That
would cause the available_fields_dict to be cached BEFORE the
interpreters and filters were added to the Reporter object.

Since I don't know any reason (other than efficiency) for memoizing this
method, I think its best to just remove it.
Make Reporters into SoftwareResults

This removes the 'file_name' input, since the reports will be in their own
allocation.
We use '__define__' instead of 'create' to bypass work that
SoftwareResults do in 'create'.
Allow for no params in reporter sections
Move plan.yaml files into git for expert tests
Get ShowDocs working with Reporter SRs
Add compare_directories_and_files method
Change how Reporters get tested
Adapt GenerateReport to create Reporters
Provide default ({}) for filters and interpreters
Add 1 GenerateReport per Reporter in plan
Add method to look up results by label
CreateReport command works with SR Reporters
Get basic vcf reporter test to pass
Merge pull request #250 from davidlmorton/report_results2

Make VariantReporting Reporters into SoftwareResults