generalize Alleles to contain refBases & altBases, take 2

PROBABLY DON'T MERGE: this depends on the MD-tag fix in ADAM `0.13.1-SNAPSHOT`, which Frank estimated will go out in a release later this week. In the meantime, no need to have `master` point at an ADAM snapshot.

this PR includes indel code and some refactorings of Pileups, GenotypeAlleles, and others to support a universal notion of an Allele that is determined by multiple reference bases and multiple sequence bases.

I back-ported existing callers to be more general of their handling of variants/alleles, accordingly.

This should let us reuse a lot of @arahuja's bayesian/log-odds variant-analysis/filtering code across callers more easily.
If this ordering defines equals instead of having a separate ordering should we change Allele to
```scala
case class Allele..) extends Ordered[Allele]
```