a solid, working commit.

support all single string gene mating techniques shown on wikipedia
except half uniform crossover