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.
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