smarter cyclic function removernow using strongly connected components instead of simple cycles.fixes #465 (commit: f5a93b7)