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?
Perhaps you should have the LUT get_*() functions return a value for which gamgee::missing() will return true. That way you will be consistent with the way the rest of gamgee handles missing values, and won't need this non-standard is_missing(int) function.