Run in safe limits.  Add "eval" to enable modular programs.

Rather than implement safe limits using the "setrlimit" function in Linux, I
use explicit counters instead to limit the depth of the stack, the number of
evaluation steps, and the amount of memory used.

I did this because it is more reliable, predictable, and portable than using
setrlimit.  The setrlimit technique can cause undesirable consequences, such as
producing a large "core" file in the case of a stack overflow (segfault).  By
using my own internal checks, I avoid that problem.

The new "eval" routine allows you to evaluate a separate file as a function.
This is the basis for constructing modular Fexl programs.

The put_to_error function flushes stdout, so if you redirect stderr to stdout
the error output comes last.