Centralize topology reprocessing in DAG
This MR leverages the DAG implementation that was recently introduced to centralize the processing of various object states:
- The missing dependencies
- The ready status
- The reconciled status
- The watched flag
We introduce a new ProcessTopologyChange method that maintains all these states in dag.go, consequently various clients (like flux_informer or watch command) don't have to maintain these states any more, which helps defining a cleaner interface.
As FilterDependencies(watchedResource) is replaced by SortedWatchedResources() in dag.go, tests have to be slightly adapted. This is done in the fist commit that is just adapting the reference sequence to remove non-watched resources. This way we can ensure that second commit introducing the change will produce the same sequence as first one.
This will also provide a fix for sylva-projects/sylva-core#2190 (closed), ss OrderedDependencies is now only called from informer goroutine (see this comment for details)