Do not use doubledouble on PPC32/64.

doubledouble has only incomplete support in Phobos.
Also includes a druntime fix (cherry-picked from master)
More support for PPC64le target.
Fix threadasm.S for PPC64le
Implement core.thread.callWithStackShell() for PPC64 ELFv2 ABI.
createGlobalVariable() requires a context with LLVM 3.6
fix C2883 in MSVC build
fix configuration for llvm builds with assertions
fix #724 overwritten conf file
when ldc changes also rebuild runtime
also exclude unittest projects from default build in VS
remove all the "tmp" IR names
fix newline
add a few IR names
fix CMP0054 policy warnings
Revert owningTemplate hack from 39e3e3a6.

It is no longer needed now that we use DMD's model for determining
whether to emit templates. We might also be able to use the more
general tinst/minst machinery from DMD Git master if we ever need
something similar.
Remove availableExternally logic and extra inlining semantic passes.

Turns out that since the change to use DMD's symbol emission
logic a few releases back we didn't actually ever emit code
for the extra modules. Thus, all the effort for the extra
semantic passes went to waste.

If we want to implement DMD-style cross-module inlining, we
need to add the extra semantic3s back in, and then iterate
over all the non-root modules with a codegen visitor that
only emits symbols as available_externally.

We probably won't need the availableExternally members if
we start with a clean design in the new symbol emission
framework. Thus, remove everything in the meantime. This
will make some release builds a bit faster, and should not
negatively affect generated code.
[cleanup] Remove LDC-only #if 0 block.
[cleanup] Adjust some whitespace to match DMD.
[cleanup] Remove some unused LDC-only forward decls.
[cleanup] Remove unused LDC-only Expression::isAssignExp.