tester: changed local instances to member variables

the local run function translator, program unit and recreator instances
were changed to member pointer variables along with the output stream so
that they don't need to be passed around between the tester functions;
also did some minor cleanup
tester: added interactive recreator test command line mode

new '-tr' mode activates interactive recreator test mode from the
command line, which will output the translated tokens of the input line
along with the recreated output

modified translate input function to accept a header string argument
that when set, outputs it instead of "Output:" in front of the
translated tokens and returns the rpn list instead of deleting it
(otherwise a null is returned, which is also returned for an error)

added recreate input function that first calls the translate input
function with "Tokens" for the header and then if an rpn list is
returned, recreates it, outputs the result and deletes it