The validator now checks that the type of conditional instructions
is known.
On a validation failure, the load code now outputs a corrupt savegame
message, with the validation error message and a program dump,
instead of using an assertion.
This is a port of the tracerestrict/routing restrictions feature
from TTDPatch.
At present this implements if tests (train length only),
and pathfinder deny and penalty actions.
This requires the use of YAPF. Note that restrictions are only evaluated
within the YAPF lookahead distance.