Fix a c++11 issue
Use caching in DtoVaFunctionType.

Remove now unused method IrFuncTy.reset().
Remove MSVC crap.

The code was a work around and did not solve the underlying problem.
With 2.064 even the work around stops working.
Remove DigitalMars garbage collector.

This code is not used and gone in later DMD versions.
Use __linux__ to identify Linux-based systems.

This is a backport from DMD 2.065. It is needed to compile LDC2 with -std=c++11.
Merge branch 'master' into merge-2.064

Conflicts:
	dmd2/root/rmem.c
Some class <-> struct changes.

This is partly a backport from DMD 2.065. It fixes nasty warnings with clang.