A final fix for compound operators

There was a bug related to the newly added compound assignment
operators. That bug has been fixed, and some heavy testing has been
done, to ensure the fix is stable.

The bug:
Whenever we are looping over any simple math-expression in lape, without
assigning it to any thing lape will eventially crash. (Aither by a
simple "Access violation", or "Invalid Pointer operatoron "+", and "-"
ops).
This bug also affected my compound operators, as they are made the same
way as any other operator (+,-,/,* ...). I wrote an alternative
evaluation (lpvartypes.pas -> TLapeType.Eval) for compound operators to
avoid that bug.