feat(tsp): add cycle, no and partially mapped crossovers
refactor(tsp): split to multiple files out of tsp.rs