LLVM upgrades

This includes some of @brson's patches, plus one of mine. A multithreaded-llvm is necessary for running `rusti` tests in parallel, and in general is a good idea for running `rustc` in parallel.