Allow plans to validate providers without objects
Don't create temporary object for validation
Translate plans instead of objects

This has (at least) two benefits:
1) it paves the way to get rid of the provider as a dag input.
2) since we were creating and object, and then translating its params,
there was no way to determine the hash of translated params for
SoftwareResult subclasses (or anything that does work in create
generally).  Since we plan to make Reporters into SoftwareResults, this
is a big deal.
Ensure plans don't get translated more than once.

This also makes it clear, if you write out a plan, whether it has been
translated or not.
Add requires_annotations to test classes
Move expected.xml files from allocation to repo

This will make it less annoying to alter anything that affects the
workflow xml that is generated.
Stop passing around provider_json

Since we can now just translate the plan and pass around the translated
plan, there is no need to pass around the translations as well.
clin-seq: make check for sample common name case insensitive
clin-seq: improve subject legends file for snv-indel-report and remove redundant code in get_ref_align_builds
clin-seq: added min variant read count filter parameter to snv-indel-report
clinseq: add optional variant caller count filters to snv-indel-report
clin-seq: update test results for snv-indel-report test
clin-seq: bless new build of clinseq-test-wer to take into account updates to snv-indel-report filtering
Merge pull request #249 from malachig/master

clinseq: add additional filtering options to snv-indel-report and related clean up
Merge pull request #245 from davidlmorton/translated_plans

Translated plans
Split out base class features from Tree command.
Pull down base options since only one command inherits.
Updated `genome` tab completion.
Merge pull request #252 from tmooney/dont_inherit_mc16s_commands

Fix MC16s copy-files inheritance