Merge pull request #3011 from MartinNowak/fix11684

[2.065,Reg] fix Issue 11684 - SIGSEGV with ld.bfd version 2.22
Merge pull request #3000 from 9rnsr/fix11755

[REG2.065a] Issue 11755 - Operator <>= and !<>= with arrays make internal error in e2ir
Merge pull request #3008 from 9rnsr/fix11776

[REG2.065a] Issue 11776 - [ICE] Assertion failure: 'tf->next == NULL' on line 119 in file 'mangle.c'
Build dmd as static libraries on posix
Merge pull request #2990 from denis-sh/workaround-regression-11777

Workaround regression 11777.
Merge pull request #3014 from 9rnsr/fix11078

[REG2.058] Issue 11078 - Diagnostic for wrong RHS in property assign of a property group should improve
Merge pull request #3019 from 9rnsr/fix11767

[REG2.060] Issue 11767 - doubly mixed-in struct "failed semantic analysis"
Merge pull request #3033 from 9rnsr/fix11818

[REG2.064] Issue 11818 - Ternary operator not allowed in a value parameter anymore
Merge pull request #3050 from 9rnsr/fix11447

fix Issue 11447 - Closure provide bogus values
Merge pull request #3051 from yebblies/issue11559

Fix Issue 11559 - Optlink crash with more than 2048 modules generated and debug info
Relax isPOD rules so ctors don't make structs non-POD
Merge pull request #3054 from WalterBright/fix11591

Regression fix Issue 11591 - std.typecons.Tuple -s with classes fails at runtime as associative array keys
Merge pull request #3056 from 9rnsr/fix11844

Issue 11844 - ICE(template.c:6643) Assertion failed: (td->semanticRun != PASSinit)
Merge pull request #3057 from 9rnsr/fix11849

Issue 11849 - Recursive enum causes segfault
Merge pull request #2826 from 9rnsr/fix11553

Issue 11553 - dmd segfault with recursive template
Merge pull request #3069 from 9rnsr/fix11863

[REG2.064] Issue 11863 - std.conv.to!string(int/uint, radix) returns incorrect string
ini: Fix parsing of variable with spaces before the =

At least from what the source code suggests, a variable declaration in
the config file as this should be supported:
DFLAGS = -I/usr/include/d

But in reality, if you live spaces like that, the variable value will
get uppercased.

This commit fixes this problem to properly parse the extra spaces.
man: Mention variable names are converted to uppercase
ini: Add support to define undefined variables

Similarly to Make files, the syntax `VAR ?= value` is added to define
variables only when they were previously undefined.

In this case, if the environment variable `VAR` was undefined, then it
will be defined with the value `value`, otherwise the previous content
of `VAR` will be preserved.

This is useful to define default flags in the config file that can be
easily overridden by using environment variables.
Increase temp space in mtype.c/Type::getTypeInfoIdent(int)

Compiling druntime+phobos, this method is called 1245 times. 1104 times malloc()
is called - that's 89%! Increasing the size from 40 to 128, malloc() is only
called 128 times, which looks better. (Average length is 66.)
This may still too small - compiling some unit tests I have seen mangled names
with length up to 16745.

Alternatives are:
- use always malloc()
- use always alloca()

The same seems to be true variable out of type OutBuffer. But I do not have
collected the numbers here.