Add ccc prelude support to libraries

So you can attach some initialization code to a
ccc.Library now, and any environment which includes
that library will have to evaluate it before being
usable. Cool.

Except it was a total yak-shave. Promises have been
completely ripped out of all non-test code. Scanning
and parsing is once again synchronous, but the parser
is allowed to make partial progress on any given
read() call.

This allows program read+eval to be done on top of
the thunking runtime, which in turn allows for easy
injection of preludes into evaluators.

Finally, this also adds a small prelude to ccc.base
which includes macros for standard logical AND and
OR forms.