updated table number of maximum associated codes

since many of the associated codes for temporary strings were removed,
the number of maximum associated codes changed from 4 to 3

also changed the checks for the maximum number of operands and number of
associated codes for an exact match instead of greater than to catch
this in the future (it was originally expected that the maximums would
only increase not also decrease)
implemented improved hold stack with convenience functions

new HoldStack class based on QStack with drop(), to pop the top item
with out returning it, and push() with token and first token to put in
the new item pushed to the stack
implemented improved done stack with convenience function

new DoneStack class based on QStack with push() with RPN item token,
first and last tokens to put in the new item pushed to the stack