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.
Documentation updates
Build process update: make clang link against our new libstdc++

Previously it would always link against the system libstdc++; not sure how
that was working.

Also, put that in its own included makefile so that we can track the dependence
on the configuration parameters (otherwise you would have to run a configuration
manually to get this change).
Rebase LLVM rev
Merge branch 'master' into invoke
wip