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.
Now I see this pattern is used elsewhere ... maybe a short discussion of the pattern at the top of the file?