refactor: pass rng as argument Instead of having the Rng stored inside the structs, pass it through the functions. This means it's no longer necessary to pass perturbations etc. as mutable.
tests: add simple test for evolution on one_max
refactor: do perturbation in place instead of cloning
chore: move env to codes/eoa_lib
feat: add evolution algorithm