more error propagation
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.