Moved command into gmt
Make base classes for Annotation commands and results
Add sample_name accessor for Readcount::Result
File::Vcf::Writer can write bgzipped files
Fix up how to get param_names and input_names

In particular, we have to be careful with params on software results.
Change inputs to AnnotateWithReadcounts

We cannot rely on UR to keep is_many properties in any particular order,
so we have to combine these two fields.  While we're at it, since
sample_names aren't in fact useful except to get at the column index in
the vcf-header, lets go ahead and just require the index.
Add Command and Result to add readcount info to a vcf_result
Factor out test_cmd_and_result_are_in_sync to TestHelpers
Name class correctly and remove unused params before passing on
Annotation::Vep classes inherit from Annotation::Detail base classes