test.pl: fail if any tests fail
hts_open(fname, "r") now works in both cases; no need for "rb"
Format detection: non-compressed binaries; is_compressed setting

Detect non-BGZF-compressed binary formats, e.g., raw non-compressed BCF.

When a BGZF-compressed or gzipped stream has been detected, set
is_compressed so client code (within htslib) can determine what format
they are reading by examining is_bin/is_compressed/is_cram.
bcf_sr_open_reader(): Auto-detect input file format

Set reader->type to the format as detected by hts_open() rather than
using hts_file_type() and bcf_sr_open_reader()'s type parameter, which
is susceptible to user error when input is from standard input.

Previously e.g. "bcftools subset - < test.bcf" (user omitted "-b") would
read test.bcf as VCF and fail with a parse error.  Now that hts_open()
correctly opens test.bcf as a BGZF-based binary, reading it as VCF
crashes -- so now it is important that reader->type corresponds to the
format detected by hts_open().

The type parameter is now unused.  Options such as "subset -b" are now
unnecessary.