Add ks_release() to kstring.h

Using this function is a more explicit way of transferring ownership
than just "foo = str.s"; the latter leaves room for readers to wonder
whether a subsequent "free(str.s)" has been forgotten.
Reinstate bam_header_dup as bam_hdr_dup

In the original samtools API there was an undocumented call
bam_header_dup which was used to copy an existing header.  As I
found this is rather useful in certain situations and I have
reinstated this.

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