Prevent product deletion when referenced by subscriptions

We were only checking for the top level product
before allowing the deletion of a product.

This change includes provided, derived, and derived
provided products.