fix Issue 8913 - Wrong code in IfStatement condition Expression

Type cast from `e : T[n]` to `T*` should generate `&e[0]`, not `&e`.
Kill the syntax `alias this = sym;`
fix Issue 6652 - 2. Deprecate modifying non ref variable.
fix Issue 9348 - "tmpl!arg" syntax followed by "!is" or "!in"
fix Issue 9332 statement is not reachable
Merge pull request #1528 from WalterBright/b25

fix Issue 9332 statement is not reachable
move file stuff out of json
Fix Issue 9366 - Appending a value cast to void to a void[] crashes DMD
Merge pull request #1531 from WalterBright/b26

move file stuff out of json
fix Issue 8504 - Template attribute inferrence doesn't work
Need more hack for bug 7757
Merge pull request #1532 from yebblies/issue9366

Fix Issue 9366 - Appending a value cast to void to a void[] crashes DMD
fix Issue 9174 - regression(2.057) ice(cast.c) with ternary operator and alias this

Precedence 'alias this' resolving than integral promotion.
Merge pull request #1096 from 9rnsr/fix8504

Issue 8504 - Template attribute inferrence doesn't work
fix Issue 9369 - DDoc hardcodes '&' -> '&amp;' in code
Merge pull request #1535 from WalterBright/fix9369

fix Issue 9369 - DDoc hardcodes '&' -> '&amp;' in code
remove redundant file properties
fix Issue 9374 - 'super' should be accessible inside template constraint
Merge pull request #1536 from WalterBright/b27

remove redundant file properties
small refactoring