Don't require an index for full-file merges

Use the new sam_itr_queryi(idx=NULL, ...) facilities when we don't need
an index and there might not be any (in particular, when merging temporary
files at the end of samtools sort).

Don't attempt to free the list of filenames when it is argv.
Merge branch 'origin/develop' into develop

Keeps the BAM output and -b versus Usage changes from
b44c5e479db8136ed10ebe6a9123a6d1457b7f33, but discards the
filelist freeing and index building changes in favour of
those in 3ad6995d09f4dd8646e4e68ef2982dde759382fb.

Fixes #180.
The @HD header is optional
Add "make testclean" target