Fix issue with failing integration tests (caching problems)

The problem was that the bindings system switched to the future
parser when evaluating puppet logic by modifying the Puppet[:parser]
setting back and forth. This caused the compiler to (somewhere) be made
aware of a change "in the environment" - this caused tests to fail as
the environment was cleared as a consequence.

The fix is a simple change, the ast_transformer now creates an
ArithmeticOperator2 instead of ArithmeticOperator. Only future parser
creates those instances. The ArithmeticOperator2 naturally allows
concatenation. With that change, all switching of Puppet[:parser] could
be removed.

This is a much better solution because the settings are kept unchanged.