Only start LLVM after planning

After planning is complete the only way for the compilation to fail is
due to internal compiler errors. This trades off a bit of concurrency
for less noise and overhead when compiling incorrect programs.
Check for memory leaks on shutdown

If _LLIBY_ALWAYS_GC is enavled then do a final GC on shutdown to check
for leaks. This finds nothing at the moment but things could get
interesting when continuations are involved