Simplify implementation of built-in operators.

Implement builtins as functions that only take two values, and then
implement the multi-value versions of the functions in Lisp code
rather than C.
Remove YLISP_DEFERRED and use a static struct.

Tail call optimization is implemented by passing a YLispValue up the
struct to represent a function call that is the result of the function.
But as it is only used to pass a value up the stack, only a single
instance is ever needed. Implement this with a static struct instead of
allocating a new YLispValue for every tail call.