fix($rootScope): $destroy parents and self within watchers

First stab at this problem. This isn't very performant and potentially
creates a lot of work for the GC.

I'll update as I go along. First, I want to verify that this is an issue at all.

Fixes #5658