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?
I agree that the templated code for MergedVCFHeaderFieldsIdxLUT may not be needed.
But, I think that the templated code for MergedVCFLUTBase would be useful and simply removing it from the code base would cause it to be re-implemented again later.
Regd maintainability, I expect MergedVCFHeaderFieldsIdxLUT would be modified from time to time, but MergedVCFLUTBase to be constant (since it's simply a LUT). So, maintaining MergedVCFLUTBase should not be a concern.