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 guess part of my confusion is that the two cases before this are actually just verifying that there are *at least* two alleles (`:: rest`), so it seems like some cases that qualify as "tri-allelic" could also get swept up in those, unless I'm misunderstanding? i.e.:

* L150 says: at least 2 alleles, exactly one of top two is variant
* L154 says: at least 2 alleles, top 2 are variants
...