Typechecking/Translation of nested functions (mostly) done.

Remaining: Lambda lifting (or static links) to access
variables defined on some outside of the inner
functions + LLVM code generation. If we are using static
links for non-local variables, then we will have to change
the Translate module accordingly.