Update threshold caller to output proper alternates

`ADAMVariant` requires that `referenceAllele != alternateAllele`

The proper way to encode a Ref/Ref variant is using the Ref/Ref in the genotype alleles for any alternate.
This changes:
 - NoCall variants to have an arbitrary alternate "<ALT>"
 - Ref/Ref variants to have an abritrary alternate "<ALT>"
 - Het calls to have exactly one variant allele and one reference allele
 - Makes a catch-all for cases where there are more than 2 alleles that pass the filter or there are multiple reference alleles for different references

Fixes #198
cool, I paged in the context from #198 :)

my reaction is:
* assumption: this can only ever happen if the read has an `N`, and its MDTag at that position is (dubiously) marked as a match.
    * if it could happen at a non-`N`, that seems blatantly wrong and we should fix the aligner / whatever is giving us MDTags
* given that, I think we should special-case the "we have two reference bases and exactly one is an `N`" case to just use the other reference.
* "conflicting reference bases" is a trigram I would like to keep out of the code base unless it really is unavoidable