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.
Wowwww. What were the symptoms of this bug?
On Sep 25, 2014 9:52 AM, "Arun Ahuja" <notifications@github.com> wrote:

> In src/main/scala/org/bdgenomics/guacamole/Serialization.scala:
>
> > @@ -43,8 +43,10 @@ class GuacamoleKryoRegistrator extends ADAMKryoRegistrator {
> >      kryo.register(classOf[LociSet.SingleContig], new LociSetSingleContigSerializer)
> >      kryo.register(classOf[LociMap[Long]], new LociMapLongSerializer)
> >      kryo.register(classOf[LociMap.SingleContig[Long]], new LociMapLongSingleContigSerializer)
> > -    kryo.register(classOf[CalledGenotype], new CalledGenotypeSerializer)
> > -    kryo.register(classOf[CalledSomaticGenotype], new CalledSomaticGenotypeSerializer)
> > -    kryo.register(classOf[GenotypeEvidence], new GenotypeEvidenceSerializer)
> > +    kryo.register(classOf[CalledAllele], new CalledAlleleSerializer)
> > +    kryo.register(classOf[CalledSomaticAllele], new CalledSomaticGenotypeSerializer)
> > +    kryo.register(classOf[AlleleEvidence], new AlleleEvidenceSerializer)
> > +    kryo.register(classOf[Allele], new AlleleSerializer)
> > +    kryo.register(classOf[Allele], new GenotypeSerializer)
>
> Oof, this has been killing me, finally found it, classOf[Genotype]
>
> —
> Reply to this email directly or view it on GitHub
> <https://github.com/hammerlab/guacamole/pull/178/files#r18032390>.
>