Fix includes for LLVM 3.5
Fix file reading modes for LLVM 3.5
Add a new parameter required by LLVM 3.5
Fix DataLayout changes in LLVM 3.5.

DataLayout must now be a pointer because it can be null.
Add code for the new DataLayoutPass in LLVM 3.5