Fix for #18256

With this new setup of everything firing events, this seemed like a good time to tackle this infinite recursion from the reactor. What this does is pass a "user" (Reactor) to all jobs that the reactor starts. Then the reactor skips all events created by that username-- thereby only reacting to events not caused by itself.