new class structure. only instantiate when needed.
Major optomizations. From around 0.0148s/100 rows to return genotypes to around 0.0033s/100 rows. This was done by making sure that classes are only instantiated when needed (for instance, there is not point in process the INFO column when you are only interested in obtaining genotypic information.