[LISP test] A string-based LISP interpreter.

This program tests the alloc routines by implementing a LISP
interpreter. All objects in the interpreter are represented by
text (newstr(), string_append_char, string_get_char and the like).

A test of a factorial function ran out of heap at (fact 12).
[Test] An expect script to drive the interpreter.

The script feeds in the definition of the fact function and then
executes it a few times.

gcstringlisp forces the bump allocator to go through its first 1024
cells during (fact 12) while running this script.