Merge pull request #3039 from yebblies/CPP_MANGLE

[cleanup] Move CPP_MANGLE into cppmangle.c
Fix Issue 10199 - labels cannot be used without a statement
Fix newly introduced variable shadowing
Merge pull request #3042 from yebblies/expshadow

[DDMD] Fix newly introduced variable shadowing
Implement a callback-based builtin hook using mangled names
Merge pull request #2811 from yebblies/builtin

[Unified Frontend] Implement a callback-based builtin hook using mangled names
Fix Issue 11802 - Wrong vtbl order for extern(C++) classes with overloaded functions on win32
Make entrypoint to "root module"
fix Issue 11447 - Closure provide bogus values
fix Issue 11843 - Template instantiated twice: failed semantic analysis
Merge pull request #3049 from 9rnsr/fix11843

Issue 11843 - Template instantiated twice: failed semantic analysis
Merge pull request #3022 from yebblies/issue10199

Issue 10199 - labels cannot be used without a statement
Merge pull request #2467 from 9rnsr/extend_dip42

Extend DIP42 proposal to more generic
Merge pull request #3050 from 9rnsr/fix11447

fix Issue 11447 - Closure provide bogus values
Merge pull request #3020 from 9rnsr/faildiag

Issue 11813 & 11814 - improve diagnostic messages on IFTI failure
Fix Issue 11559 - Optlink crash with more than 2048 modules generated and debug info
Merge pull request #3051 from yebblies/issue11559

Fix Issue 11559 - Optlink crash with more than 2048 modules generated and debug info
Merge pull request #3010 from yebblies/issue11802

[DDMD] Issue 11802 - Wrong vtbl order for extern(C++) classes with overloaded functions on win32
Always create libs through named factory functions
Add factory function for TypeTuple