r62: don't correct highQ diffs close to each other

In rare cases, we may go into a wrong path due to uncorrected errors. In this
case, we will compare the rest of bases to the wrong path and may make many
wrong corrections. Preventing correction to multiple high-Q diffs close to each
other helps to reduce the effect of such errors. Sometimes we may not be able
to correct some true errors, but making consecutive wrong corrections is much
worse.

I am offline right now. More testing is needed on human data.
r63: comments only
r64: move cache to the outer "loop"