Make some changes in preparation for integration of SRFI-1 support:
. Some of the (simpler) new procedures have been installed verbatim
from John Kraemer's edit of Olin's implementation. Some others were
rewritten, but many others have yet to be installed.
. The mapping procedures have been extended to accept arguments of
different lengths (as required).
. MEMBER and ASSOC have been extended to take an extra optional
argument (as required).
. REDUCE has been changed to have the SRFI-1 semantics. This means
that (REDUCE CONS '() '(A B C)) now returns
(c b . a)
where it used to return
((a . b) . c)
This is an incompatible change; hopefully it won't be too painful
for the users.
. FOLD-RIGHT has been extended to support multiple list arguments.
. FOLD-LEFT remains unchanged but is now considered obsolete; SRFI-1
provides FOLD instead, with different semantics.
Additionally, the definition of WEAK-LIST? was wrong and has been
fixed.