Fix comment in sam.h

Fix reference to bam1_seq to be bam_get_seq.
vcf: skip empty INFO tags ";;". (Error might be more appropriate?)
Account for read buffering in hseek(SEEK_CUR)

These relative offsets need to be converted to be relative to the
backend's stream position, which is different due to buffering.
It could be done when writing too, as begin==end after flush_buffer(),
but it seems clearer to convert only when reading.  Fixes #152.
Minor improvement to binary searching in CRAM indices.

Sometimes it could pick a slice one before the optimal case, causing
one additional slice header to be fetched and decoded.
bcf_hdr_combine: Complain when trying to merge different types
Sanity-check tid in hts_itr_query()

e.g. if the headers given to hts_itr_querys() have more reference
sequences than the index, we'd rather return failure than crash here.
bcf_calc_ac: Check for incorrect AC/AN counts
vcf_parse_format: Throw an error on extra FORMAT fields
vcf: Propagate hdr_add_sample() error
Fix alleles trimming with format Number=R/A/G tags

Resolves https://github.com/samtools/bcftools/issues/173
Removed spurious messages about missing EOF blocks in CRAM when
dealing with older versions of the file format.  It worries users to
see messages about lack of an EOF block (although technically true)
when reading v2.0 or earlier CRAM files.
Parse regions without begin/end as 1..MAX_INT rather than 1..2^29

Indexing now works with large chromosomes (longer than 2^29) both when
coordinates are specified ("foo:1000-600,000,000") and when they are
defaulted to the whole chromosome ("foo").

For hts_itr_querys("."), HTS_IDX_START ignores begin/end, so pass these
as 0,0 rather than a misleading 1<<29.

/<< *29/ no longer appears in the htslib source code.

Fixes part 2 of samtools/samtools#241.
Update khash.h from upstream sources

Updated to attractivechaos/klib@7163c2137856c22bebce87fd8f68a37fbb84a430
and its parents, in particular fixing new_flags memory leaks (cf #138).
Fix various simple memory leaks (cf #138)
Added in the compressed length field to the rANS codec header.

Technically this isn't needed, but it adds a very small extra amount
of space and it allows for the internal rANS codec to be the same
format as an external block-based rANS codec, or to allow the rANS
codec internally to compress very large buffers using a smaller block
size.

This now brings this code into line with the Java cramtools
Merge branch 'develop' of https://github.com/samtools/htslib into develop