better error msg for TestUtil.assertAlmostEqual
use .sum instead of .reduce(_ + _)
correct and simplify ploidy calculation
possibleAlleles, possibleGenotypes into Pileup

also rename to `possibleGenotypes`, which is more apt
push `Allele` concept into `PileupElement`
upgrade to ADAM 0.14.0
push PileupElement.sequencedBases into Alignment

expand Alignment hierarchy to expose `sequencedBases` and
`referenceBases`

requires ADAM 0.14.0 MD-tag fix
generalize Alleles to contain refBases & altBases
move likelihood calcs into GenotypeAlleles, Pileup
lots of Bayes' Pileup/Genotype test cleanup

* remove genotypes that were not being checked
    * will follow on with GenotypeAlleles tests for these
    * assert that we are only checking the genotypes that are returned
* make the precision 1e-12
    * we were not always checking the right numbers previously, but were still within e.g. 1e-2.
    * fix the numbers we're checking
* a few general cleanups
    * common reference base / reads across test cases
    * use Table matchers
rename Bayes' Suite to PileupLikelihoodSuite

it's actually just testing Pileup functionality now
add GenotypeAllelesSuite of likelihood tests

PileupLikelihoodSuite only covers "possible" genotypes generated from
"possible" alleles found in Pileups, so it's worth also testing things
like our odds estimates of a genotype that includes alleles that
weren't found in any of a Pileup's reads.
add Allele.== operator
change GenotypeEvidence to take a full Allele

comparing alleles just based on alternate bases not robust to
deletion variants
move Allele to its own file in .variants package
make Allele extend Ordered
some spacing tweaks
Pileup-level 'sampleName' accessor into Pileup
rename GenotypeAlleles to Genotype
add AlleleSerializer

also mix-in Allele and GenotypeEvidence serializers