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.
Should add a comment noting that bcf_get_fmt() will unpack the record if necessary (since other functions in the Variant class call bcf_unpack() manually, so it looks strange that this one doesn't)