More tweaks to top-level letrec

The compilation to IL1 now treats top-level let recs as globally bound
inside of the functions themselves (rather than locally bound). This
means that the IL1 semantics builds Closures (with empty environments),
rather than Recclosures for top-level letrecs. There are still some
cheats in the proof, but they finally look to be true, at least.