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.