Allow functions to take 0 arguments, exit function added

Before if a function was entered by itself it would simply printout
the function definition (or <builtin> for language functions). Now
when a function is called by itself it will be evaluated with 0
arguments. This applies to both builtin and user-defined functions.

The exit function has been added which takes advantage of a new,
special type NVAL_QUIT. When this is encountered execution will
stop and the interpreter will close.