[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.
Yea thats correct we only compute it on mismatch and insertion/deletion pileup elements currently.  My motivation was that right now we *do not* use it to determine if the element is a match or not.  We use the mdTag, but the mdTag is actually fairly large and *is* computed for every sequence.  But if we computed the reference sequence somewhere (for some other read for example) we don't need to use the mdtag to determine match vs mismatch so we can leave that unparsed.