refactor(tsp): Do not allocate in binary string fitness function
Currently the fit function has allocated for each individual!
That slows it down terribly!
This reimplements it to implement the fit_population, reusing
the same node permutation and same precedence_count
feat(lib): allow modifying fitness function in evolution_algorithm
chore: move population structs to separate module
feat(tsp): Remove with iteration functions
fix(tsp): few more tweaks
feat(tsp): add binary ls, use 10k iterations instead of 5k
feat: add a lot of algorithm showcases
chore(tsp): few minor updates
tests(tsp): move tests to proper modules, fix uses
refactor(tsp): split to multiple files out of tsp.rs
refactor(tsp): put plotting to main to not repeat code
feat(tsp): add ea binary algorithm
feat: add possibility to evolve strategy during evolution_algorithm
feat(tsp): Output csv statistics
feat: add loading of optimal cost from solutions.txt
feat(tsp): add data loading