Core & UnitTests: Make overriding explicit and remove redundant virtual specifiers on overriding destructors