add support for null genotypes in GT fields

joinx now understands things like GT=./1
another test for missing GT data
zygosity tests for missing GT data
change how null genotypes are handled

GenotypeCall(".") -> empty

GenotypeCall("./.")
    -> diploid
    -> size == 2
    -> null
    -> !empty
    -> !homozygous
    -> !heterozygous
io tests for GenotypeCall
add partial() method to GenotypeCall for partially null genotypes
remove some old parsing code
make vcf-compare-gt use less memory

the stop coordinate of the region being tracked by the vcf
GenotypeComparator was never getting reset, leading to excessive memory
usage.

specifically, for each chromosomes after the first one, all variants on
that sequence were being loaded and hashed (which kept the large
Vcf::Entry objects in memory) instead of clearing out the hash table
whenever we cross a gap between two ordered variants.
move RawVariant::Vector hash function to RawVariant header
add ValueType typedef to MergeSorted
add GroupOverlapping processor
Merge branch 'master' into vcf-cmp
start new vcf-compare command
update vcf-compare to count allele matches
add missing string include
Merge remote-tracking branch 'origin/master' into vcf-cmp
add "setSampleField" to Vcf::SampleData

to add more format/sample fields to sample data
give CustomValue a constructor taking raw variant vector
more work on vcf-compare
vcf-compare don't rely on sample being in the same order!