Add a destroy_before function to allow resources to specify which resources should be destroyed after them

Signed-off-by: Shea Levy <shea@shealevy.com>