changed translator to contain single parser instance

previously the translator created a local parser instance each time
a line was translated, which was changed to create a parser instance
in the constructor and delete it in the destructor
removed temporary strings

temporary strings were added so that copying the copying values of
string variables to the evaluation stack at run time were not necessary
(only temporary strings need to be deleted when no longer needed),
however, this is not necessary because QString utilizes implicit sharing
(strings are only copied when modified)

the translator can't determine the difference between variables and
arrays (not temporary string) and functions (temporary strings) so it
attached strings operands to operators and internal function so that the
encoder could make this determination; but this is no longer necessary
(operands are still attached to parenthesis tokens, which could be either
arrays with integer operands or functions with any type of operands

all the codes with temporary strings as operands were removed along with
operand arrays with temporary strings and associated code arrays with
codes that were removed; the number of strings was removed from the
expression info structure (no longer needed); the string flags was
removed (was never used); and all the affected expected test results
were updated