r67: strand-independent correction

In the previous version, ec on the reverse strand is performed on the
forward-corrected sequence. On human data, I have seen quite a few cases where
a mis-correction on the forward strand mislead the reverse-strand correction.

Strand-independent correction will be more conservative and may need a lot of
tuning. It only works for ungapped correction for now. Gapped correction is
much more complicated. One of the known complications is that the gap placement
may be different on the forward or reverse strand.

The original strand-correlated mode is kept in the code. It is not the default,
though.
r69: hmm.. messed up by git; identical to r68
r69: keep the original quality at conflict
r70: bases on the first k-mer considered corrected
r71: even if read==cns, try alt
r72: drop the change in r70
r73: no effective changes