[WIP] Avoid computing the reference base and hanging on to md tag

This builds on #220.

Right now we keep the referenceBases and mdTag even though they contain the same information - if we have computed the referenceBase we no longer need the mdTag and the mdTag can be fairly large memory-wise.  However, it is useful currently to quickly check whether a pileup element is a match.  Instead we should pass in a reference base to each pileup a and pileup element

This is a bit clunky right now but wanted to hear thoughts on doing this or not.
well, maybe, unless the reason we're here in the first place is that case that you and @timodonnell found where one of the reads incorrectly listed the reference as `N`...

also, in the status quo, do we do this computation on every read? all the `val`s are lazy, and we only reference (heh) them this particular way on the head element (they can also be referenced (and therefore computed) on e.g. `Mismatch` alignments and maybe other places)