Whitespace cleanups.
Fix linking with stock llvm (static libraries) and the GNU linker.
Reduce the set of llvm modules that we try to link.
Update for LLVM (almost) 3.5 APIs.