Make vtkSMArrayListDomain fire domain modified event correctly
vtkSMArrayListDomain was not firing domain modified event when the array's association alone changed. Fixed that.
Adding a helper class to vtkSMDomain to make it easier to for subclasses to collapse domain modified events. vtkSMArrayListDomain uses this new class to ensure no duplicate modified events are fired.
Closes #18628 (closed)