Optimized combinators by using eager "apply".

This avoids creating extra A-forms and running extra eval cycles.  Also note
how type_A becomes a one-line function which just calls apply.

I also eliminated one optimization in parse.c.  Formerly if you said
"\x=def body", it would optimize that to simply "body", because the def is not
used.  However we really shouldn't do that because if def has any undefined
symbols, we want those reported as errors.  In many cases when coding we start
off with definitions that aren't yet used, and we definitely want those to be
checked.