Add TOK function. Avoid deduplication of strings.

--TOK function splits a string up into a list by removing a delimiter
  supplied to TOK.
--Strings are now kept in a list like function names and variable
  names are. The main reason for this is that it is the easiest way to
  properly free the long string buffer that TOK creates.
--Make sure that valueToString can handle empty lists (bug that was
  uncovered by a bug, funny enough).