dictionary: changed constant info classes to use standard classes

modified to use standard vectors and strings
modified add element to take token pointer and use emplace back
modified dictionary add to pass token pointer to add element
used range for to delete strings in constant string info destructor
changed Qt unsigned 16-bit integer types to standard type
tester: changed to function operator class and to throw exceptions

changed run function to a void function operator function
removed error message string member and its access functions
modified constructor to throw standard string exceptions
modified function operator to throw standard string exception
modified command line constructor to catch tester string exceptions
removed redundant '(void)' from function definitions
program model: changed debug text to use standard strings

changed debug text to return standard string
modified debug text to use standard output string stream
changed program word instruction debug text to operator << function
removed instruction and operand debug text from program word class
(operand debug text was one line, so code was put into debug text)
modified debug text callers for change to standard string return
program code: changed to use standard vector

moved program word and code classes to new header file
made code vector member instead of base class
added necessary code vector pass through access functions
used vector functions instead of raw memory move function
added instruction and operand program word constructors for emplace back
modified program model functions to use iterator instead of pointer
modified program model encode to use emplace back to build program line
added new header to cmake since there is no corresponding source file
(only needed to make header show up in QtCreator project file list)
program model: use standard vector for line info list

made vector a member of line info instead of base class
added necessary vector access functions to line info class
added offset and size vector element member access functions
renamed remove at to erase in line info for STL consistency
renamed count functions and variables to size for STL consistency
removed unused line offset and size access functions
program model: changed to use standard strings throughout

changed line text function to return standard string
changed update function to take standard vector of standard strings
changed update function from public slot to just public function
changed line info structure text member to standard string
changed update line function to take standard string
changed translator translate function to take standard string
updated all callers of changed functions accordingly
used auto if-statement scoped variables for several function pointers
translator: changed class to  be a function operator

changed translate function to operator() function
used temporary instances to call translator (tester and program model)
removed translator member pointers from tester and program model classes
removed clean up function (not needed, done when instance destroyed)
added clear of rpn output list when returning an error
removed parser resets (done in constructor and default destructor)
removed redundant 'void' from function definitions
translator: throw error exceptions at top level

changed function operator to throw error instead of error in rpn list
replaced error item is empty with boolean operator function
removed error variables from rpn list
changed program model encode to take rvalue reference
token error: moved and renamed error structure

moved error structure from main header to token header
renamed to token error and renamed variables with member prefix
added constructor for status, column and length (for parser)
added constructor for status and token (for translator)
translator: top-level throws; token error functions

changed function operator to throw all errors immediately
added convenience access functions to token error structure
(get status, check if status, and assign to status)

improved formatting of try block in tester parse input function
made some minor formatting corrections
translator: modified command processing to throw errors

modified get commands function to throw errors
modified process command function to throw errors
changed return type of table translate function from status to void
modified let, print and input translator functions to throw errors
translator: changed get operand to throw errors

modified get operator to return true if good, false if not operand
removed token add length to column function (no longer used)
translator: changed process internal functions to throw errors

restructured function a bit, removed several local variables
removed return value from function
added expression error status helper function
translator: changed process parentheses token to throw errors

updated comments of functions modified so far to throw errors
moved expression error status to support function section
translator: changed process operator to throw errors

integrated process first operand function into process operator function
changed process final operator to throw errors
changed process done stack top to throw errors
translator: changed get token to throw errors

removed return value
removed creation of error token
removed good status enumerator since it is no longer needed
modified get expression function to create error token (temporary)
removed check for sub-string to pop upon error in let translate
translator: changed get expression to throw errors

removed return value
removed temporary creation of error tokens
removed done status enumerator since it is no longer used

changed detection of unary operator errors: when get expression finds an
unexpected unary operator, it throw an "expected binary operator or
end-of-statement" error; callers previously checked if the token was a
unary operator to report the appropriate error, but now that get
expression throws this error, no token is returned so now callers must
specifically check for this error and throw the appropriate error
translator: allow get token caller to pass error for unknown token

added error status argument to get token
changed to return this error status for unknown token if set
added value for new argument to callers
(get commands still needs to catch first token errors)
(let translate still needs to catch errors for next token after operand)
assigned first status enumerator to 1 to allow for empty status
translator: made severval minor improvements

changed done stack pop error token to return a token error instead of
the token modified for the error since a token error is what is needed
by callers of this function, and it is not necessary pop the item from
the done stack since the translator instance goes out of scope once the
error thrown

removed token set through function since it is no longer used
changed Qt forever with plain empty for
renamed expected error status function (to eliminate an abbreviation)
added 'noexcept' keyword on functions that don't throw exceptions
updated comments for changes
translator: changed handling of current token

instead of passing the current token (which is possibly unset) into and
out of each of the functions, the current token is now kept in a member
variable, where functions leave it set to the token that terminates them
or consume it (leave it empty) if successfully processing the token;
the token reference argument was therefore removed from these functions

added check to get token to only get token if member token not set
moved process command code into get commands
removed command token and token arguments from command translates
added get, reset and move current token access functions
added reference argument to process internal function
(instead of setting token reference flag for sub-string assignments)
moved setting of define function code to process parentheses token
changed rpn list token access function to return a reference
reorganized some of the code
renamed local token variables to just 'token'
updated comments for changes