Add names to pre-defn fns.
Add arglists to doc output. Add metadata.

The brand-new metadata stuff is all created inside defn, which is now even
uglier than before. It's simply stored in the instance variable @apricot_meta
on the Proc objects.