Based a Genotype class on VariantFieldValue

With a couple GT specific operators, including separating out the alleles.

Heavily based off htslib and comment stream in #77.
since these are implementation details used only by the other functions in this file, it shouldn't be in the header, just in the cpp file (completely hidden from the user) as soon as you make this *not a class*.