VCF header editing speedup for large number of ref sequences

- Don't sync the internals with each edit, just set a 'dirty' flag and call
  bcf_hdr_sync() when header is written.  This may have undesired consequences
  in existing programs which do not call bcf_hdr_write() or try to access newly
  added fields before bcf_hdr_sync() was called.

- bcf_hdr_add_sample() does not require NULL any more, but programs may
  continue calling it for backward compatibility.

Resolves https://github.com/samtools/samtools/issues/308