Generate programs to generate theorems.

Generate some "programs", sequences of steps that are valid transforms of the
() initial empty form. Generating "programs" in the form of sequences of
non-exception-raising steps which are basically developing content-free
"theorems" of the circle language.

This isn't perfect yet, I'm still noodling around, but you can see the
possibilty of generating all the possible forms by trying all the possible
valid sequences of steps.

Since we are exploring from the shortest sequences first we should find the
shortest "programs" for a given possible form before longer possible sequences.

Later I want to figure out how to map the automatically-generated forms
to interesting "real" theorems and other possible transformations. (It
would be awesome to develop a meaning that permitted quines!)  I should
also include First-Order Logic (unless I'm totally off base that just
means supporting named "variables", which also makes our forms compatible
with the LogPy unification engine. Neato.)

TODO Write an index-generating function that can select any sub form of a
form to let the system build "deeper" forms.