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.
Could one of these two simply be a negation of the other?