Add support for unfolding named clauses in the spec.

Clauses are named as follows:

   %:name:
   head :- body.

The name must be an identifier between %: and :, and it must be a line
comment. Anything else is a lexical error.