Canonicalise whitespace -- USE -b/-w TO DIFF/BLAME ACROSS THIS COMMIT

Expand tabs as spaces; hard tab characters are no longer to be used
as there is disagreement as to how many columns they should expand to.
Remove trailing whitespace at the end of lines.

After this commit, please do not commit hard tab characters or trailing
whitespace in .c, .h, or .pl files, and please consider using a pre-commit
hook in your local repository to enforce this.

These steps will minimise the incidental whitespace changes unrelated
to the intended commit changes that make viewing diffs and merging
less convenient.

To compare files prior to and after the whitespace discontinuity of
this commit, use "diff -b" or "diff -w", "blame -w", etc.

(This does not apply to files in the cram/ subdirectory or the klib
files k*.c and htslib/k*.h.  These files are synchronised with other
projects, so minimising differences with copies of this code elsewhere
is more important.  Please avoid accidental incidental whitespace
changes in these files too.)