added support for parenthesis to new translator

in getExpression() if the first token is an open parentheses, then
pushes token to hold stack (low precedence blocks popping past it),
recursively calls itself, checks terminating token for close
parentheses, sets first/last operand on hold stack to open/close
parentheses tokens, sets last precedence, sets pending parentheses
token, and continues on to get a binary operator token

added new checkPendingParen(), modified from existing doPendingParen(),
to check if there is a pending parentheses and marks the previous token
if an unnecessary entered by user parentheses are present (or adds a
dummy token if there are multiple unnecessary parentheses), or deletes
(or marks for deletion) the pending parentheses token if necessary (due
to operator precedences), which are implied by the order of the RPN
translation

added calls to checkPendingParen() to processOperator2(), one after
an operator is popped from the hold stack before processing if final
operand and one on the current token before checking if it ends the
expression or processing its first operand; there is a popped argument
to indicate which call that controls how checkPendingParen() checks
the precedences

in the table, the CloseParen code was given the EndExpr flag since it
now ends an expression

removed the "expected operator or end-of-expression" (internally named
NoOpenParen) as this error is not appropriate and should have been
"expected operator or end-of-statement (or some other token like
'THEN')"; updated expression test #2 for this change