Comparing pointers instead of comparing strings

--Actually use the varname list to retrieve variables from the local
  scope
--Do the same thing to function names that I do for variable names now
--This means I no longer free the function names inside freeFuncDef
--evaluateValueAsBool returns double so there's no need to cast
  number data from double to int.