RFC: samtools merge to use htslib header parser

* Previously a regex was performed for each line in the translate->text
  data to initially locate @RG and @PG lines before another regex would
  then isolate the identifier and check whether it required translation.
  IDs matched from these latter expressions would then be checked over the
  entirity of the growing contents of out->text.
* These extensive and expensive searches are no longer required as the
  various @PG and @RG identifiers have already been isolated when
  the input files are read in by htslib.
* @RG and @PG data are stored in the header in linked lists that can
  easily be navigated to compare entries in translate and out for
  matching identifiers without the need for all the use of regular
  expressions.
* Conversion of @RG PG and @PG PP tags has been simplified as these
  values are also stored in the header's linked lists rather than
  requiring use of further regular expressions.
* Speed performance of merges, especially over large data sets has
  been dramatically improved.