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
nit: this close-parend doesn't seem to be aligned where I'd expect it; aren't it and its mate unnecessary anyway? i.e. this could be
```
if (emitRef) {
  variant(
    Allele(Seq(pileup.referenceBase), Bases.ALT),
    Ref :: Ref :: Nil
  ) :: Nil
} else {
  Nil
}
```