Relax isPOD rules so ctors don't make structs non-POD
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.
add Windows SDK 8.1 library search path to sc.ini
[cleanup] fix indent style
Improve COMPILE_SEPARATELY to supply optional compiler switches when link .o files
Improve error propagation from function body semantic.
Change inNonRoot function to Dsymbol class member
fix Issue 11931 - Linkers "Symbol Undefined" again with dmd HEAD when -g specified

Also add test case for issue 7595.
Refactor opId, opId_r, and isCommutative into free functions
Re-implement Statement::apply in terms of Visitor
Cast visitor to void*
Remove components.push from CppMangleVisitor::substitute
Replace CppMangleVisitor::exist with CppMangleVisitor::substitute
Return early if substitute found, remove nesting level.
Merge pull request #3119 from yebblies/castvoid

[DDMD] Cast visitor to void*
Merge pull request #3107 from 9rnsr/fix11931

[REG2.065a] Issue 11931 - Linkers "Symbol Undefined" again with dmd HEAD when -g specified
[cleanup] fix indent style
[Refactoring] `instantiatingModule` should be derived from `sc->tinst`