Added the basis for macros.

The code is pretty hard to deal with right now. It is difficult to
tell what works and what doesn't. I'm going to write more tests for
setf and friends before doing anything else.