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
See more at #198, but in short we have two pileup elements are `Match` but have different values for their `Alignment.referenceBases` So we have two alleles both reference but `allele1 != allele2`