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
Add code for the changed DataLayoutPass in LLVM 3.5
Fix the non-LLVM 3.5 builds
Try to fix the LLVM 3.5 build
Add a failure ordering to cmpxchg in LLVM 3.5.

For now, the D code is not changed. Failure ordering is the same as success ordering.
Finally enable the vectorizer (at least in LLVM 3.5).

It still requires verification if this works with LLVM 3.4. Problem was the changed
initialisation of passes in LLVM 3.4/3.5.
Disable unit tests in rt.aaA.
Merge branch 'merge-2.064' into merge-2.065

Conflicts:
	runtime/druntime