refactor: properly handle errors in local_search
refactor: Use OVector instead of SVector in library
feat: add real fitness functions Add linear, step, rastrigin, griewank and schwefel fitness functions along with the tests for them. Try using static vector where appropriate, but use OVector for those where filling with zeros won't work. This is mostly a constrain for the tests... rather than a real constrain. In the end the dimensions will be given for each problem.
tests: move all tests to separate submodules
chore: guard test imports by #[cfg(test)]
chore: split types and functions to separate module files