This update adds code to stop the interpreter if no progress
is made in 5 cycles.

This occurs when the input string doesn't change (get shorter) in
5 cycles. I make it this long because not all cycles will shorten
the string, as there are other ways to change state (like setting
variables, etc).

It can also occur if no pattern or conditional matches are is true,
and no statement is executed.
Another cycle won't help change that state of affairs.
I need to make a pass over the code and make sure all such
error messages show up in the log.