Correctly parse an example file.

I'm yet to add semantics, but I believe this parser is good enough for the
moment. Next step: refining this rather loosy-goosy structure into something
that more closely resembles the problem domain -- coming up with a Roles list,
type checking things like (legal ?x (move)) so we know, for isntance,
`Variable "x"` bindsto a role locally. There might need to be a few passes at
compiling into smarter and smarter structures.