Derived collections onRemoved handler

This adds an optional Action onRemoved argument to the ReactiveDerivedCollection class, and a matching Action onRemoved each of the CreateDerivedCollection and CreateDerivedBindingList methods.

If the delegate is given, then it will be called whenever a derived item is removed, as well as for each item when the derived collection as a whole is disposed.

The DerviedCollectionShouldHandleItemsRemoved test is also added and passes, and all prior tests pass.

Fixes #743 
And here is the reason I wish the code style options were part of the project/solution settings rather than the user settings. I caught some of them, but not all.