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.
Be explicit about using the default copy/move constructors/assignment operators and destructor (ie., use "= default"), instead of relying on the complicated rules for implicit generation. There are way too many threads on stackoverflow from people who got burned thinking a move constructor/assignment operator had been implicitly generated when it actually hadn't.