Adr/trunkvec

I'll reopen the pull request after I've tested it with LLVM 3.3 and 3.4.  It fixes the problem described in #7504 and also cleans up muddled usage of ```llvm::EngineBuilder```.