Add (untested) commands module.

This is toward having a single canonical copy of the main grammar,
which currently lives in both lang def 3 and parse.py, and is only kept in
sync by hand and with partial test checking.

I'm also in the mood to clean up parse.py, which has gotten
larger than I ever wanted it to be.