Simplify signal/wait system to be more generic.

Scenario creators can now create a dependency between
nodes by adding fragments that specify a signal name
and which nodes need to wait for that signal. For an
example please see nodes/2_role.yaml