have avialable_fields_dict get the list of used interpreters from $self, not from the factory
don't pass sample_names along, get them from $self
Remove available_fields where possible

available_fields is defined in the base interpreter class to get
its values from the field_descriptions hash.
If the field_descriptions hash contained references to $self this
would fail because during validation we were calling available_fields
as a class method.
Now that available_fields is exclusively called as an object method
we can use the base class version of available_fields whenever
field_descriptions is available.
get rid of Reporter::WithHeaderAndSampleNames and available_fields_for_interpreter as they're not needed anymore
one more class where we can remove available_fields
removed unused subroutine
simplify retrieval of interpreter list
Merge pull request #144 from susannasiebert/multi_sample_refactor

Refactoring of the multi sample interpreter system