fix($rootScope): allow $destroy of ancestor/self within watcher

First stab at this problem. This isn't very performant and potentially
creates a lot of work for the GC.

Fixes #5658