Recently a new geometry node for splitting edges was added in D16399.
However, there was already a similar implementation in mesh.cc that was
mainly used to fake auto smooth support in Cycles by splitting sharp
edges and edges around sharp faces.
While there are still possibilities for optimization in the new code,
the implementation is safer and simpler, multi-threaded, and aligns
better with development plans for caching topology on Mesh
and other recent developments with attributes.
This patch removes the old code and moves the node implementation to
the geometry module so it can be used in editors and RNA. The same
"free_loop_normals" argument is kept for backwards compatibility,
though it doesn't make much sense.
The new mesh editors function creates an IndexMask of edges to
split by reusing some of the code from the face corner normal calculation.
This change will help to simplify the changes in D16530 and T102858.