Curve: fix all race conditions (there were a lot of them), and remove the overkill getCurveType()
Knob: fix API
KnobTypes: never use iterators for external manipulations in a multithreaded environment
CurveEditorUndoRedo: factorize moveKey()
CurveWidget: never use iterators for external access in a multithreaded environment!
KnobUndoCommand: never use iterators for external access in a multithreaded environment!
Tests: add Curve_Test + use EXPECT_EQ or EXPECT_NE where appropriate
update GitVersion.h