changed how to determine if token code has table entry

token code now initialized to Invalid_Code
static token table array indexed by token type removed
token hasTableEntry() function replaced with hasValidCode()
table unaryCode() now takes token pointer instead of code argument
table isUnaryCode() taking code argument removed
separated associated code search from find code

created new table setTokenCode() function from parts of findCode() for
checking if the data type of the code matches the specified data type
and if not searches for an associated code with a data type that matches

added simplified setTokenCode() function for setting the code of a token
to the correct code for the data type of a base code
assign codes to constants tokens as soon as possible

findCode() assigns code for expected data type
getOperand() assigns code when specific data type is requested
processInternalFunction() assigns code when expected data type is number
getExpression() does not need to force constants to expected data type
outputAssignCodes() no longer assigns constant token codes
token type changed to Constant for constant codes
debugName() modified to catch invalid code
token text() modified to output code text (with index) or '?' in front
  of constants with invalid code (not with index)
separated cases when getting operands

in getOperand(), replaced the cases that fall through with the actual
code needed by the case (in some cases the fall through was doing checks
that had already been done or were not necessary)
assign codes to variable tokens as soon as possible

getOperand() modified to assign variable code to no parentheses tokens
  (for now, later functions will need to be checked for)
outputAssignCodes() no longer assigns codes to no parentheses tokens
token type changed to no parentheses for variable codes
reference flag added to variable reference codes
token text() modified to output code text (with index) or '?' in front
  of no parentheses tokens with invalid code (not with index)
moved translator output list functions to rpn list class

added new RpnList::append() and RpnList::insert() with code from
Translator::outputAppend() and Translator::outputInsert(), which now
call the new functions, and were left in place for the command translate
functions (the Translator functions call the RpnList functions directly)

moved Translator::outputAssignCodes() to RpnList::setCodeSize() and
removed RpnList::resetCodeSize() and incrementCodeSize() since the code
size variable can now be accessed directly
renamed commands.h to basic.h to be more general

also added to CMakeLists.txt so that it shows up in QtCreator
updated files for version 0.5.1

also replaced "" for table names to NULL, which means the same thing
for a QString initializer