fix C++ linkage with MS-COFF32
simpler method for obtaining \ in makefile
add Environment32mscoff section to sc.ini
fix Issue 13333 - Incorrect error ungagging during the resolution of forward references

Improve forward reference resolution in template instantiation with alias

- Check needGagging in TemplateInstance::semantic2()
- Set TemplateInstance::speculative if global.gag is set in semantic()
Check unsafe variable declaring is unnecessary for function local aggregate members

It would cause unresolved forward reference because `TypeStruct::hasPointers()` requires the complete types of the fields.
Improve diagnostic in recursive template expansion
[Refactoring] bool speculative
[Refactoring] Remove global.speculativeGagging()

By the improvement of recursive aliasing, we can simplify the concept to:
"A template instantiation during errors gagged is 'speculative instantiation'".
fix paren error from #3755
Merge pull request #3880 from WalterBright/fixparen

fix paren error from #3755
Changed cmtable_init to use isxdigit
Merge pull request #3881 from jamestn/patch-1

Changed cmtable_init to use isxdigit
Merge pull request #3876 from rainers/make_subst_SEP

simpler method for obtaining \ in makefile
Merge pull request #3875 from rainers/coff32_cpp

fix C++ linkage with MS-COFF32
Merge pull request #3877 from rainers/coff32_ini

add Environment32mscoff section to sc.ini
Merge pull request #3878 from 9rnsr/fix13333

Issue 13333 - Incorrect error ungagging during the resolution of forward references
fix Issue 13299 - Property not found with typesafe variadic opDispatch
+try1
+try2 Divide gagged and speculative instantiations
Fix case for indirectly upspeculative instantiated function

template X() { void foo() { Y!().bar(); } }
template Y() { void bar() {} }
void main()
{
    pragma(msg, __traits(compiles, X!().foo()));
    X!().foo();
}