New arc extends old arc.
More readable code.
Handle starting in the middle of an arc.
Handle mid-arc intersections.

Also, correctly reassign owning arcs when splitting an old arc.