4ee34d4b2d
Optic checks were being propagated unconditionally in loops, causing nearly every node in an optic network to be checked every time. This restores behavior to the original intended behavior of propagating forward changes on next tick, but stopping at points where state quiesces. Unfortunately beam obstruction sensing has been working instantaneously because of this bug, and that will revert to the original intended behavior of having those picked up only on random checks, which may cause regressions in some builds.