fix gene::mutation and rewrite base_crosover
first version of population
small population refactoring, rename optimizer