use kthread for multi-threading

Bwa-mem should have better performance with many CPU cores.
r418: use the new mapQ estimator by default
r419: print the @PG line
r420: inferred bandwidth is not used in the final
r421: bw doubling in the final alignment

In some cases, the band width used in the final alignment needs to be larger
than the band width in extension.
r422: matesw hits not sorted
r423: bugfix - SE hits not random
r424: fixed a bw bug in samse/pe
r427: fixed bugs in backtrack

See comments in ksw_global() for details.
print debugging msg to stdout
debugging code only: print seeds
r428: allow to change the default chain_drop_ratio
fix duplicate PG lines in bwape and bwase
Merge pull request #21 from bpow/fix-duplicate-pg

fix duplicate PG lines in bwape and bwase
r430: fix a bug producing incorrect alignment

Ksw uses two rounds of SSE2-SW to find the boundaries of an alignment. If the
second round gives a different score from the first round, it will fail. The
fix checks if this happens, though I have not dig into an example to understand
why this may happen in the first place.
r431: added the MD tag to bwa-mem
Released bwa-0.7.6-r432
Release bwa-0.7.6a-r433
r434: added the missing bwasw/aln commands!
r435: bugfix - base not complemented on the rev