fix Issue 8913 - Wrong code in IfStatement condition Expression

Type cast from `e : T[n]` to `T*` should generate `&e[0]`, not `&e`.
fix Issue 9348 - "tmpl!arg" syntax followed by "!is" or "!in"
fix Issue 9174 - regression(2.057) ice(cast.c) with ternary operator and alias this

Precedence 'alias this' resolving than integral promotion.
Fixes Issue 2630 - Support documenting unittest code as code samples.
Introduce MODtoChars to avoid code duplication.
Fixes Issue 9368 - Final switch on typedef'ed enum is not properly checked
correction to 64 bit ABI implementation
rename/complete special section header indices

- according to System V ABI
  http://www.sco.com/developers/gabi/latest/ch4.sheader.html
rename abbreviation for section header index (SHI->SHN)

- matches ELF constants
use extendend section header indices when exceeding SHN_LORESERVE

- overflowing section indices in symbol table are escaped
  (st_shndx field is set to SHN_XINDEX)

- additional .symtab_shndx section contains 32-bit section indices
  (contains zero entries for symbols that have a valid st_shndx value)

- overflowing section count in ELF header (e_shnum) is stored in the
  size field of the first section header (sh_size)

- insert dummy null sections to skip reserved section indices
use -1 as UNKNOWN segment index flag

- increases the maximum size of SegData from 32767 to INT_MAX

- the whole backend uses `int` as segment index
rename smash -> stomp
Merge pull request #1507 from 9rnsr/fix9348

Issue 9348 - "tmpl!arg" syntax followed by "!is" or "!in"
Merge pull request #1549 from WalterBright/b32

correction to 64 bit ABI implementation
Merge pull request #1552 from dawgfoto/fixupStackStomp

rename smash -> stomp
Merge pull request #1540 from dawgfoto/fixSectionOverflow

Fix section overflow
improve copyprop and rmdeadass for structs
Fix issue 1841 Closure detection fails in nested functions

If an escaping function doesn't use any closure variables, but
calls another nested function which does, it must be marked as
needing a closure. This 'calling a sibling' case was missing.
Fixes Issue 9398 - Print colon instead of question mark for mismatch of ternary operator types.
fix for optimizer changes