AthContainers: Allow customizing DV object deletion.
Add a mechanism to DataVector to customize how objects are deleted. This is done by a polymorphic Deleter interface.
The goal here is to be able to use an alternate memory allocator for the objects in a DV. But for compatibility and other reasons, we don't want to change the DV types themselves, which is why this is done via a polymorphic interface.