fix: tournament selection in case last wins returned wrong index
fix: tournament replacement strategy could be using wrong indices
feat: add best replacement
feat: add best selection
fix: return proper indices from tournament
feat: add mutation and combined perturbations
chore: make library out of eoa_lib
chore: move env to codes/eoa_lib