zlisp: pass around real values instead of string representations.

* lib/zile/zlisp.lua (lex): Change token type of word to symbol,
and token value from string to interned zile.Symbol object.
Don't recognize "t" and "nil" as literals, but fall through to
symbol token type.
(parse): Make the AST from Consed token values, instead of an
adhoc table with `kind` and `value` fields.
Represent a quoted node as a Cons list with the symbol "quote"
as the first element, instead of adding an adhoc `quoted` field.
(call_command): First argument is now an already interned
symbol.
(eval_command): Pass the symbol in list.car directly to
call_command.
(eval_string): Pass the command list in list.car directly to
eval_command.
* lib/zile/minibuf.lua (trim_messages): `message_log_max` value
is now an actual number.
* lib/zmacs/zlc (make-variable-buffer-local, isname, defun)
(lambda, localfun, localvar): Adjust to using Cons lists of
actual objects rather than {kind/value/quoted} parse nodes.
(defvar): Emit actual Lua values, not string representations.
* lib/zmacs/eval.lua (marshaller): Simplify type coercion now
that we already get actual objects.
(set-variable): Change first parameter name to symbol_or_name,
and intern to a symbol object when passed a name.
(execute_function): Don't fake a {kind/token/quoted} parse node,
just propagate uniarg object as is.
(eval_command): Pass the symbol in list.car directly to
call_command.
(eval_expression): Simplify.
(eval_string): Pass the command list in list.car directly to
eval_command.
(display_variable_value): New function.  Return a string
representation of a variable value.
(Defvar, set_variable): Use it as the __string metamethod on new
variable symbols.
* lib/zmacs/zlisp/help.zl (write_variable_description): Use it
to display a variable's value correctly.
(describe-variable-string): Unwrap quoted symbol names correctly
when called non-interactively.
* lib/zmacs/eval.lua (Defvar):
* lib/zmacs/zlisp/list.zl (setq): Adjust for actual objects as
value arguments instead of {kind/token/quoted} parse nodes.
* lib/zmacs/zlisp/variables.zl (parse): Import the parser
function from "zile.zlisp".
(set-variable): Use it to turn an interactive value string into
an object to store in the value field of variable symbol.
Unwrap quoted symbol names correctly when called
non-interactively.

Signed-off-by: Gary V. Vaughan <gary@gnu.org>