Added some EOF block creation and checking.

It's not complete yet as nothing in the above directory (htslib
proper) checks this yet.
Bug fix to cram_next_slice().  The new while loop checking for
non-empty blocks caused a crash when multi-threading.
Bug fix to EOF block writing when in multi-threaded mode (not yet
supported in htslib's cram interface). It was writing the EOF block
before flushing any pending threads.
Added a check to EOF in Cram in hts_close(). Note that this isn't the
same place that BAM checks as it does it in hts_open(), however the
benefit of doing on close is that this check can work when inputting
from a pipe.
Merge branch 'develop' of https://github.com/samtools/htslib into develop
Updated the Cram EOF block detection to avoid falsely considering the
lack of an EOF block as an error when doing a sub-range query.

Also simplified the API, removing the cram_has_eof_block() function in
favour of using a tri-state cram_eof() return code.
vcf: New bcf_get_info_string() wrapper
vcf: New API bcf_get_format_string()
add support for Number=R fields when trimming alleles

- Number=R for INFO and FORMAT introduced in VCF4.2
- when removing alleles, removed appropriate entries from R fields
- use the new api in a few places
Allow overriding default columns indexes in bcf_sr_regions_init
vcf: new function bcf_remove_filter()
Merge branch 'develop' into bcftools+calling
Merge branch 'bcftools+calling' into develop
vcf: fix in bcf_get_genotypes, sanity check too strict for GT
vcf: Tip to workaround missing contig tags
hts indexing: Allow arbitrary chromosomal order.

Originally, hts_idx_push required that chromosomes come
in the same order in which they appear in the header. This
requirement seems too strict, valid BCFs could not be indexed.
vcf: New bcf_hdr_id2hrec() and bcf_hrec_format() functions
vcf: New vcf_write_line() function
synced_bcf_reader: New bcf_sr_seek() function
vcf: New bcf_translate() and bcf_hdr_combine() API