Stack machine

Create a stack machine model.
Transform all 'Expression.eval' to runStep using a stack machine.
Several improvements in checkpointing recursive functions.