Add MSC __declspec(noreturn) to fatal()
Expand BinAssignExp macros in expression.h
more error propagation
[Refactoring] Reorder TemplateInstance member functions

Sort them based on the semantic order.
[Refactoring] bool TemplateInstance::hasNestedArgs(...)
[Refactoring] Add Module::isRoot()
fix Issue 11062 - inline ice with alias this and opIndexAssign
Merge pull request #2576 from 9rnsr/fix11062

[REG2.06a] Issue 11062 - inline ice with alias this and opIndexAssign
refactor enum code
Merge pull request #2568 from WalterBright/enum-refactor

refactor enum code to do forward references of members
Merge pull request #2574 from 9rnsr/refactor_root

[Refactoring] Add Module::isRoot()
Merge pull request #2573 from 9rnsr/refactor_template

[Refactoring] Reorder TemplateInstance member functions
Merge pull request #2535 from WalterBright/statement-errors

more error propagation
fix Issue 8825 - Wrong line number of error message

- Each tokens should have its own 'loc'.
- Rename `Lexer::loc` to `scanloc` to avoid misuse of lookahead-loc.
Fix trivial wrong line number of aggregates
Fix iasm parser bug

`asm_chktok` will advance the token place. So reading `asmtok->uns64value` after the call would take a wrong value.
fix Issue 10947 - const out parameter is not properly rejected

Bitwise-and of Type::mod vs STCxxx is merely a mistake.

Additionally, `out inout` parameter should also be rejected.
[Refactoring] Report errors in semantic phase for invalid combination of parameter storage classes

Do it in parsing phase reduces the chance of error reporting.
fix Issue 10969 - Variadic template parameter re-use in function signature
Merge pull request #2492 from 9rnsr/fix8825

Fix lexer/parser bugs to fix Issue 8825