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.
give up on putting debuginfo in our stdlib, at least for now
Couple more fixes to move around llvm revisions
We're back to the future: rebase to LLVM trunk

Had to improve some of our rewriting; looks like there
must have been an LLVM commit that changes the live-out registers
we see.

Also, temporarily disabled format-checking: the rebase
updated clang-format, which now is formatting a few files
differently.  Will re-enable and re-format in the next commit.
New clang-format results
Note from the llvm-dev list
fix header ordering in codegen/entry.cpp
Merge pull request #174 from dagar/master

fix header ordering in codegen/entry.cpp
Add a test that I thought wouldn't work but apparently does
No longer any modifications to this file
Refactor some unwinding code

Make some things owned by the cf rather than using global registries,
so that 1) we can eventually free the right things when we start freeing
cf's, and 2) we can have a single ip->cf mapping instead of lots of
ip->other things mappings.

Also added some helper classes for making stack crawling easier.
wip