New genotype and somaticgenotype to store more intermediate statistics

- Added new CalledGenotype and CalledSomaticGenotype (and Kryo serializers) to save more intermediate variant calling information used for filtering

This also makes a distinctions between germline and somatic calls to the filters can be applied appropriately.  Part of breaking down #147 and is dependent on #162 
Mostly easier comparison, and given a collection of sequences I wanted an easy way to do .distinct