implemented sub-string assignments in new translator

added AssignLeft, AssignMid2, AssignMid3 and AssignRight codes to table,
which are now used for sub-string assignments and are associated codes
to Left, Mid2, Mid3 and Right; added AssignKeepXX codes for each of
these plus AssignKeepStr, which are used for multiple sub-string
assignments except for the last one where a regular assign code is used

added All reference type to getOperand(), which allows all reference
types including sub-string assignments, and Variable reference type does
not; sub-string assignment functions now identified with a sub-string
flag instead of a function returning a sub-string data type (which is
going to be removed)

getInternalFunction() modified to handle sub-string assignment functions
by calling getOperand() for Variable reference for first argument when
function reference flag set

findCode() modified to ignore associated codes for sub-string functions
identified by a -1 second associated code index; this was needed for
sub-string funtions because assign codes that are associated with these
have a different operand profile (same as assign operator)

added temporary UnSet state set by new translator to indicate when new
translator routines are being used; this is used instead of checking if
command stack is empty (which it could be in the old translator routines
for implied LET commands); needed to prevent state from being changed in
processFirstOperand(), and for processFinalOperand() to not append
sub-string functions as assignments from being appended to output and to
not to the print-only function check

sub-string assignments (when reference flag is set) are no longer
appended to output when push to done stack since these tokens will be
placed at the end of the translated LET command; this also required the
new doneStackPopToken() function to delete the RPN item that is no
longer put into the RPN output list along with its last token

translator tests #4 and #5 now work with new translator with the
exception of a PRINT command at the end of #5, which reports not yet
implemented; results needed to be updated for the change in how
sub-string assignments are translater (old results temporary copied for
reference)