Ensure usage tests have a terminal on stdin

Subcommands (starting with samtools stats) given no arguments choose
whether to filter stdin or to display their usage depending on
isatty(STDIN_FILENO).  When testing that usage messages are produced,
ensure commands get a terminal on stdin; otherwise skip the tests
if a terminal cannot be arranged.  Fixes #300.
Recanonicalise regression.sh whitespace -- USE -b/-w TO DIFF/BLAME

This file had mostly 8-space tabs, which previously went unnoticed.
See notes in fcb8af08a6fd3bfcf195407c4ba5bae528ee326d.
Set output file threading only if there is an output file

In particular, there is no output file with -c.  Fixes #302.
Fixed a buffer overflow when dealing with cigar strings ending with a
deletion.
Improved fix to mpileup. The previous one just skipped bases where we
have no quality. This still includes them in the pileup, but with 0
qual instead.
Also fix buffer overrun on data where the sequence is "*".
Fixed up test data, now that it correctly outputs "n" instead.
Merge pull request #306 from jkbonfield/mpileup-fix

Mpileup fixes