Add some documentation on roulette_wheel_selection()
Fix bug in population()

The bug was about how it failed to populate the population correctly.
Previously the code was trying to populate inplace, however I thought it
might be easier to just populate a new struct population, erase the old
one and replace it with the new.