Deterministic parallel execution using dependency tracking

Follow feature of task #7.

Implement a execution parameter which would allow for deterministic parallel execution at the cost of some performance.

  • Use signal bindings to map dependencies
  • Let parallel executed nodes wait for its dependencies to finish and then update them
  • Revert to serial execution of node vector in case of circular dependency