another makefile tweak

touch and depend on all the generated script files, for cases when only
one in the middle changes.
new treatment of declarations, remove CDecl, remove compile_exp

compile just makes declarations return an ordinary tuple of the new
values, and compile_dec does the work of pulling things out of this
tuple and updating the compiler's environments.

removed compile_exp and made the tests turn bare expressions into
declarations of "it" so they still run.