Implement DIP42 - parameterized enum and alias declaration syntax
fix issue 6711 - "with" doesn't work with "alias this"
fix issue 7883 - Compiler segfaults with double inheritance and function
contract
fix issue 8119 - Cannot cast from void* to forwarded struct pointer
Require DSO for Linux
Merge pull request #2378 from hpohl/8119

fix issue 8119 - Cannot cast from void* to forwarded struct pointer
Merge pull request #2379 from hpohl/7883

fix issue 7883 - Compiler segfaults with double inheritance and function contract
Merge pull request #2380 from hpohl/6711

fix issue 6711 - "with" doesn't work with "alias this"
fix Issue 10713 - ICE with typeof(this.nonExistingField) in method signature
Merge pull request #2382 from 9rnsr/fix10713

[REG2.063] Issue 10713 - ICE with typeof(this.nonExistingField) in method signature
fix issue 10596 - A method with out contract and auto return type causes
segfault
[trivial] fix code style
Merge ti->tempdecl and ti->tempovers
Clean up template semantic process

Standardize three phases - findTemplateDeclaration, semanticTiargs, and findBestMatch
additional fix for issue 6711
remove unused labels
Merge pull request #2384 from hpohl/labels

remove unused labels
Merge pull request #2386 from hpohl/6711

additional fix for issue 6711
remove some unneeded variables
Merge pull request #2381 from WalterBright/require-dso-registry

Require DSO for Linux