Adding LLVM optimization pass.

Still incomplete, but basic structure is coming along. It has to be
copied into the LLVM tree under lib/Transforms and build there.
Adding missing fetch to workers in qs product.
Updating qsc to use sync hoisting pass.

It also produces optimized bitcode to be left in the directory. This helps
a bit with debugging: it's often useful to see the optimized output,
especially while developing the LLVM pass.