Classes with at least one virtual function needs a virtual destructor. This patch adds virtual destructors to Interface classes And also enables 'warn on missing virtual destructors'