Laying some groundwork for rebasing to LLVM trunk

Bunch of fairly-simple API changes to contend with.

Main problem is we're still running into those debuginfo issues.