Fix duplicate Dependency that appeared by switching from a flat list to a tree.
Fix duplicate Dependency that appeared by switching from a flat list to a tree.

Instead of keeping the reference information in the parent, note for each Dependency if it should be processed with self.should_process. I had to hack a bit with the hooks to also enforce recursion_limit() to keep the old behavior, otherwise From() could cause hooks to run that weren't run before.

BUG=50015
TEST=hooks are run properly. Tested with webkit and pagespeed and buildbot master, fixes running the same checkout multiple times.

Review URL: http://codereview.chromium.org/3124017

git-svn-id: bd64dd6fa6f3f0ed0c0666d1018379882b742947@55895 4ff67af0-8c30-449e-8e8b-ad334ec8d88c

svn2github/chromium-depot-tools,svn2github/chromium-depot-tools,svn2github/chromium-depot-tools