parser: changed handling of operand state

changed to not call get number if not operand state (causing '-' to be
parsed as operator) instead of checking in get number function (if
operand state, '-' should be interpreted as sign and not operator)

removed operand state member since now only checked in main function;
changed boolean operand state to enum class state; removed default
state; and added operand state argument to tester class parse call (so
numbers get parsed) to make explicit

removed check for status in get commands function of translator so token
gets passed to let translate (when not a command) to generate
appropriate error when necessary; and added 'any' data type to get token
call so operand state enabled for first token (which could be
incorrectly a number, which will be reported by let)

changed 'unrecognized character' to 'unknown token' since this status is
now returned for number characters when operator state

updated parser test 3 (number tests) affected by these changes with
'-2147483647' test (previously parsed as unary negate operator and
positive integer constant - not intention - because default was operator
state); and added two tests for one beyond both negative and positive
maximum integers (will be double constants)

updated parser test 5 affected by change to 'unknown token' status