Fix the LLVM 3.5 build.

Some classes were moved into IR folder.
Fix more files for LLVM 3.5.
DLL linkage is decoupled from linkage in LLVM 3.5.
Fix new signature of verifyModule() in LLVM 3.5.
Add sanitizer attributes.

If the sanitizer is enabled (e.g. -sanitize=address) then the corresponding
attribute (e.g. llvm::Attribute::SanitizerAddress) must be set.
Add UDAs for LDC attributes.

Introduces an attribute @ldc.attribute which can be used to annotate functions.
Examples:
@ldc.attribute("alwaysinline") void foo() {}

Valid attribute names can be found in the LLVM manual at
http://www.llvm.org/docs/LangRef.html#function-attributes.

This fixes issue #561 and creates a base for issue #547.