Add duplication function for the bam1_t interface

Function is present in the bam header interface (bam_hdr_dup) and only
existed in the bam_copy1(dst, src) format. Hence, code using this
interface and the header interface was incoherent.

This commit adds a bam_dup1 function implemented as a call to bam_copy1
with the proper initialization to make the API's more uniform.
make sure we have found values for AC _and_ AN before using

fixes issue samtools/bcftools#34
Merge pull request #82 from sm15/feature/bcf_calc_ac_bugfix

make sure we have found values for AC _and_ AN before using
Support for =X cigars in mpileup overlaps.

Exit on yet untreated cigars rather than silently proceeding.
faidx: Set error status if unknown seq is queried
Merge bam_dup1() addition (PR #80)
Migrate documentation from samtools bam.h to sam.h and add a few more items

(Cherry-picked from PR #31.)
bcf_hdr_subset: To allow sanity checks, mark missing samples
bcf_sr_seek to seek to start with seq=NULL
bcf_remove_alleles: Fix indexing range for Number=A alleles

This is a temporary fix only, the function will still break
on BCF output.
Add functions for idxstats

Add functions to access inside hts_idx_t and retrieve stats.

Signed-off-by: Martin O. Pollard <mp15@sanger.ac.uk>
Improve hts_idx_get_stat to work for more file types

Add META_BIN macro to get meta bin rather than putting idx->n_bins + 1 everywhere.
Alter hts_idx_get_stat to use META_BIN rather than constant and work for BAI, CSI and tabix.

Signed-off-by: Martin O. Pollard <mp15@sanger.ac.uk>