Golog Examples: added reactive elevator.

This was surprisingly hard because the Golog.Macro.monitor construct
wasn't that easy to implement. The naive implementation was simple, but
the problem is that this lures the interpreter into Flop branches (i.e.,
execution fails). The reason is that if-then-else and friends are
translated to Nondet + test actions. And if the nth program contains
such a construct, the (n-1)th program is added right before the test
action. Thus the interpreter just steps into the first Nondet
alternative, which would normally be not selected because its first
transition, the test action, fails.

The solution is to add the (n-1)th program not just before the test
action, but before the Nondet node. For that we use the next/final
mechanism from the old Golog interpreter. That's unpleasant, because
it's a profound restructuring of the program, but it works and I don't
know any alternative.