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
Yes, this is more of an artifact of this particular caller.  `sortedAlleles` is all alleles that pass the threshold, there is no constraint that there are only 2.  A compound het would be there are 2 and the the top two are non-reference.  Tri-allelic there would mean there are 3 and maybe all the variant or maybe one is reference, but 3 alleles that pass the filter which none of the other cases catch.