Remove defunct alamatic.ast.Module.execute method.

This is a holdover from the original model of directly preprocessing (or
"executing", as we were calling it then) the AST. Now instead we
pre-process the intermediate form, which is produced by the method above
where this one used to be.
Add first compiler driver function.

alamatic.compiler.prepare_program for the first time collects together all
of the preparation steps required to compile a program, given the a stream
of the source code for its entry task.

This returns a Program with an already-preprocessed entry task along with
the preprocessor result that provides the context necessary to evaluate
the result.

The code generator then gets a step closer to a final interface, with a
function that takes a Program and returns an LLVM module representing it.

After that, the final step will be to have LLVM optimize the generated
module and finally lower it to native code. But that's still to come.