Fixes #5081 - Dynflowing product delete

Deleting product was previously doing a repository.destroy_all . This
commit aims to address that and other product deletion issues by
dynflowing the entire product delete orchestration.

TBD - Unit tests