Updates to debug info generation

Fixes an issue with LLVM 3.3 and provides better encoding of basic types.