Adds IfReg and ActReg commands, which behave as ifreg0/1 and actreg0/1 dependeing on a bool argument.
This allows shorter description of code that is generated from c++.
Fixes a bug in how variable reservation is implemented: reservations now survive ClearUsedVariables calls, because those happen regularly once between preamble and final render.
Adds debugging for how runs happen.
Adds verbose logging to automata state transitions.
makes debug output conditional.
Adds the necessary hooks for setting turnouts.
small fixes to tests, adds another expectation and updates a loop to account for the turnout setting rounds.