Partial port to LLVM 3.4

These changes address _part_ of what would be needed to build this Haskell package with LLVM 3.4. I have addressed only the changes needed to C++ code; I leave the Haskell changes to those who know Haskell well. Haskell code in `llvm-base-types` will also need corresponding changes.