fall over if a bed file given as an option cannot be read
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
Make stats.c's error() static like the others
Add print_error() and print_error_errno()

Also use them to report why BED files cannot be read.
Use return instead of exit(), as suggested by Martin.
Merge BED file option error checking (PR #77)
Move CDF_MWU_TESTS switch closer to what it controls

In particular, bam2bcf.c does not #include samtools.h, so previously
it would not have computed these annotations when requested.
Reinstate old-API functions needed by Bio-SamTools Perl module

bam_plbuf.o should be in libbam.a.  Reinstate several functions in
bam.h and remove residual bam_plp_set_mask() and bam_plbuf_set_mask()
declarations as htslib's underlying bam_plp_set_mask() disappeared in
samtools/htslib@cf12fbaa2e1958659c9c075d940eb16f698ccefd.

Reinstate sampileup(), which now does its own masking.  It still calls
bam_plbuf_push() for all reads, so that the resulting bam_plp_push()
has the opportunity to invoke overlap_remove() on masked-out reads.
Support for =X cigars in mpileup, exit on yet untreated cigars.
Free all memory in sparse_isize_free
stats: Support for =X cigars