Add some delegate methods for the selection within the Repetition Component.

- repetitionWillActivateIteration(repetition, iteration):
Tells the delegate that a specified row is about to be active.

- repetitionDidActivateIteration(repetition, iteration):
Tells the delegate that a specified row is active.

- repetitionWillSelectIteration(repetition, iteration):
Tells the delegate that a specified row is about to be selected.

- repetitionDidSelectIteration(repetition, iteration):
Tells the delegate that a specified row is selected.

- repetitionWillDeselectIteration(repetition, iteration):
Tells the delegate that a specified row is about to be deselected.

- repetitionDidDeselectIteration(repetition, iteration):
Tells the delegate that a specified row is deselected.
Can you explain (perhaps in a comment) the rationale for bypassing the delegate if a *private* method is implemented on the repetition instance?