LLVM 3.0 Type System Rewrite

Hi All,

Just an FYI, I wrote up a somewhat long, rambling, and overdue blog post about the changes to the IR type system here:

If you haven't done so already, I hope that this helps answer some common questions when moving out-of-tree LLVM API clients from 2.x APIs to 3.x APIs. Comments and questions welcome!