[experimental] Add sanitizer options to LDC.

Add some of the sanitizer passes to LDC. This is not complete (linking must be
done using clang and the right `-fsanitize=` option) and may not be useful at
all.

If it proves to be usefull then a lot of other options (e.g. blacklist) must be
added.
Fix error message in case object.di is not found.
Fix for issue #543.

Immutables are constant values, too.
Update to LLVM 3.5
Added new LLVM 3.4 intrinsics
Fix type in pragma (LLVM 3.4 only)
Use enum literal instead of constant
Add new version identifiers if a sanitizer is specified.
Changes for LLVM 3.5
Add Android version identifier
Fix null pointer derefence in LLVM 3.5
Cherry-pick phobos commit to make std.math unit test IEEE 754 compliant
Do not allow failures for LLVM 3.4 on Travis-CI.

LLVM 3.4rc2 has been released. As the last issue is fixed, we now start to
support LLVM 3.4.
Adds also a build for LLVM 3.5 (which is allowed to fail).
Exclude threadasm.S from build if CMake version is less than 2.8.5.

Assembler support was rewritten in CMake 2.8.5. The new functionality
is required to assemble the file, otherwise a bunch of error messages
is generated. The solution is to exclude the file from the build.
This is only a problem for non-x86 platforms (PPC, Mips).

General advise is to use at least CMake 2.8.5. This fixes #464.
Only define version Android if compiling for this environment.

Android is a variant of Linux. In order to simplify the version coding,
only version Android is defined (version linux and version Posix are not).
Check if basic types are read from object.di before usage.

If object.di was not read or is incomplete then basic types may be missing.
This results in a crash if they are used during runtime initialization.
This fixes #551.
Fix a clang warning
Support LLVM 3.5.

LLVM 3.5 adds a new required component lto.
Fix for issue #553.

Check if a static array is accessed with a known index. In this case the
bounds check can be omitted.
Simplify LLVM passes.

Use a typedef to minimize difference between LLVM 3.1 and Â3.2+.
Use IRBuilder method CreateMemCpy.