Fixed a bug in VCFUtils.smartMergeHeaders

When merging VCFHeaders, this method was scrambling the order of the VCFHeaderLines

This ordering is depended upon elsewhere, such as the VCFHeader.getSequenceDictionary method.
As a result, merged headers would present scrambled sequence dictionaries.

Fixed this method to return VCFHeaderLines in order.
add a comment as to why this matters