more conservative mapQ
r413: fixed an issue causing redundant alignment

I have seen a fosmid aligned to the same position but with two slightly
different CIGARs: 30000M and 29900M50D100M, possibly caused by tandem repeats.
0.7.5a will regard them as two distinct alignments and generates a very small
mapping quality. However, these two are essentially the same. Although there is
ambiguity in aligning the end of the fosmid, we should not penalize the entire
alignment with a small mapQ. This commit fixes this issue. More testing is
needed, though.
r414: fixed a bug caused by the last commit
r415: bug in the new (optional) mapQ computation

I may use the new method as the default. Testing needed.