Initial revision of an ERCC spike-in QC command.  This needs to be in a pipeline with software results.
A new version of the ERCC spike-in QC that uses existing RNA-seq alignments to a reference and annotation that includes the ERCC transcripts.
Use last_succeeded_build instead of lastest_build
Add new params to sanitize BAM file available since Picard 1.108
Fixes to compilation issues.  Consistant use of hash_ref instead of dereferencing. Add test case.
Add version check for sanitize option.
Remove R library dependency on optparse.
Add correct version parsing.
Remove is_optional when default_value is defined.
A couple class definition changes and an update to the sanitize picard version comparison to include v1.108
Added back a few more is_optional values for default attributes.
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