make destructors virtual
add PACKAGE_MATCHER_ABI_COMPAT mode for now so that this branch can be merged without breaking ABI