New breading algorithm

Relies on a survival rate rather than a max population. Mutation is
done at breeding time.
New random population generator

Relies on a survival rate rather than a population size, thus the initial
population will be comparable in size to the populations in main loop
New mate selection algorithm

Previously, I just took the two best from the previous generation. Now I
use a modified roulette selection.