The following commits were squashed into this
[Sketcher] Handle some corner cases in AngleViaPoint
[Sketcher] Avoid redundant constraints with B-splines...
When involving tangent, perpendicular and angle constraints.
[Sketcher] Add pre-commit changes
[Sketcher] Do not allow 2-selection tangent with B-spline
Also...
[Sketcher] Report error when using direct tangency with B-splines
[Sketcher] Fix malformed constraint when B-spline is selected second
To clarify, this means the second curve selected. The position of the point in
selection order does not matter in angle-via-point.
[Sketcher] Fix wrong number for B-Spline tangent on redundancy
[Sketcher] Remove existing point-on-object in some redundant cases
Particularly when point constrained on a B-spline is being used for
tangent, perpendicular or angle via point with the same B-spline.
[Sketcher] Fix direction issue with B-spline tangents.
Without these changes the solver might try to "twist" the B-spline to make the
angle between curves be 0 instead of PI (which may be closer to the initial shape).