Added LUT for merged header in MultipleVariantReader

1. Added MergedVCFLUT capability in utils/merged_vcf_utils.*. This class is now used within MultipleVariantReader.
2. Added test case for LUT.
3. Fixed signed-unsigned comparisons
4. Added some useful functions in VariantHeader

TODO:
1. What should be done when sample names are duplicated?
Yeah, this is a hard problem.

I have been trying to figure out a way to make this LUT compatible with MultipleVariantReader since your original commit, but I haven't come up with much.

It may be better suited to SyncedVariantReader, which does preserve ordering.