feat: add mutation and combined perturbations
chore: make library out of eoa_lib
chore: move env to codes/eoa_lib
chore: remove unused rand::rng
refactor: use evaluated population in selection
feat: add evolution algorithm
feat: add pairing of parents
feat: Add replacement strategy
chore: update explanation comment
feat: add tournament selection
tests: use random initializer in a test
feat: add initializers, ZeroInitializer, RandomInitializer
feat: add new terminating conditions (or, lower than, maximum cycles)
refactor: Add dimension generic to BinaryString
chore: remove unused imports
refactor: properly handle errors in local_search
tests: Add test for sphere real representation
feat: add CloserThanTerminatingCondition