big fixes for kill



I just checked in my big changes to kill. 

kill has been seriously broken for a long time. kill(all) used to delete
many built-in maxima attributes, while leaving some user-defined
properties behind. Among the many problems caused by this behavior is
the fragility of the test suite. The test suite has been rearranged
several times because some tests interfered with others. The test suite
was also not repeatable -- calling run_testsuite() twice would result in
spurious errors in the second call.

Now run_testsuite();kill(all);run_testsuite(); produces the expected
result. I have replaced the many instances of kill(allbut(props)) in the
testsuite with kill(all). The former was merely a partial workaround for
serious bugs in kill(all). Further cleanups in the test suite should now
be possible.

The new implementation of kill relies on several lists and hashtables of
builtin symbols, properties, etc. They are all stored in variables
starting with *builtin-. The *builtin- variables are set at the end of
init-cl.lisp, which is loaded at the very end of the Maxima build.

--Jim