struct initializer are not weak symbols

- fix Issue 11237

- The function outdata will take care of the
  BSS optimization for DTallzeros.
add test case for Issue 11237

- fix OS name of linux in Makefile
fix Issue 11226 - Problems with typeof(null) and const
Merge pull request #2701 from dawgfoto/fix11237

fix Issue 11237
fix Issue 11376 - ICE on __traits(compiles, ...) with invalid array-op
fix Issue 11404 - ICE on using TypeTuple for AA values
fix Issue 10015 - Segfault on forward referencing a variable of templated struct
Fixed issue 11155
fix Issue 11385 - XXX is a nested function and cannot be accessed from XXX
fix Issue 11423 - Error: new can only create structs, dynamic arrays or class objects, not _error_'s
fix Issue 11424 - typedef on structs isn't caught

It should be caught even if the typedef keyword usage is meaningless.
Merge pull request #2710 from 9rnsr/fix11423

Issue 11423 - Error: new can only create structs, dynamic arrays or class objects, not _error_'s
fix Issue 11286 - Impure dtor makes "cannot call impure function" error, although it won't actually be called.
[style] fix indent
[Refactoring] Reorder code logic

Move "special cases" up in the function body
- In `AssignExp::toElem`, handling for the ref-init and NRVO.
- In `AssignExp::semantic`, handling for TOKconstruct case.
[Refactoring] Add CallExp::implicitCastTo
[Refactoring] Move construction handling in `AssingExp::semantic`
fix Issue 11426 - Reinterpret element-wise array initializing should be rejected
Remove Tascii and replace with Tchar
Remove redundant extern declarations.