Verified that IndividualFieldValue::missing() is now working after Karthik's vector end changes

Turns out that IndividualFieldValue::missing() now works after Karthik's
changes to IndividualFieldValueIterator to skip vector end values.

Added a comment explaining why it now works, and also added tests to confirm
that it works.

I hope that I am starting a new tradition here of putting new Variant-related tests
in variant_test.cpp as small, independent test cases instead of adding to the
awful, monolithic, intertwined tests in variant_reader_test.cpp. VariantBuilder
should help a lot with constructing specific test cases (as it did here).

Resolves #305
Merge pull request #332 from broadinstitute/dr_fix_IndividualFieldValue_missing

Verified that IndividualFieldValue::missing() is now working after Karthik's vector end changes
A missing() function for the Variant class

Sometimes we need to distinguish blank, default-constructed Variant
objects from Variant objects with data. This change allows us to do so
via the standard gamgee::missing() convention.