Proper treatment of multiple gene names

Code simplification - removed GeneData as currently superfluous and
replaced it with simple geneMutationCounter.

Introduced new class PositionRecordProcessor that is a collection of
classes that determine mutation type and update the mutation counters.
Crucially no repeated mutation evaluations are done any longer.