ENH: slicer.util.VTKObservationMixin: removeObservers now accept no params

The method 'removeObservers' allows to easily remove all observers without
specifying all the method one by one.

git-svn-id: http://svn.slicer.org/Slicer4/trunk@23631 3bd1e089-480b-0410-8dfb-8563597acbee
COMP: Always set SOURCE_DIR variable for CLI modules

This commit will allow ResampleScalarVectorDWIVolume to be built
even if ResampleDTI is disabled.

This is needed because ResampleScalarVectorDWIVolume references
the source of ResampleDTI using the variable ResampleDTI_SOURCE_DIR

git-svn-id: http://svn.slicer.org/Slicer4/trunk@23632 3bd1e089-480b-0410-8dfb-8563597acbee
ENH: slicer.util: Add NodeModify context manager

This commit adds a convenience context manager allowing to easily
disable modified event associated with a node, and automatically re-enable
them and invoking them if it applies.
ENH: EditBox: Simplify observation introducing the use of VTKObservationMixin
ENH: Editor: Effects are checkable and updated based on the parameter node

This commit ensures the button effect are checked or unchecked based
on the 'effect' property stored in the parameter node.

It also extends the EditUtil API adding function allowing to more easily
set and get the 'EraseLabel' state.