Add virtual destructors for abstract base classes

These should have virtual dtors.