Remove dead gc code from frontend and root
fix Issue 11406 - ld.gold breaks switch table jumps

- This is due to the fact that gold doesn't add target
  addends to relocations (only uses the 64-bit rela addend).
refactor if-else branches

- remove some early returns and reuse common code
comment difference between 64 and 32 bit path
fix other occurences of the same bug
refactor ElfObj relocations

- Add writeaddrval with writes or appends an address
  value to a target segment at given offset.

- Add writerel which combines writing an address
  value and adding a relocation record.

- This allows to encapsulate the Rel/Rela
  difference between Elf32 and Elf64.
refactor obj_rtinit
refactor moduleinfo
refactor staticctor/staticdtor
refactor ehtables
refactor reftodataseg
refactor reftocodeseg
refactor reftoident
refactor cod3_buildmodulector
Fix Issue 9644 - Spell checker gives silly suggestions for 1-2 character symbols
Fix Issue 10805 - wrong error message for wrong delimited string
fix Issue 11365 - Allow D source file names to have no extension (or an arbitrary extension)
Merge pull request #2768 from dawgfoto/fix11406

fix Issue 11406 - ld.gold breaks switch table jumps
fix Issue 11518 - DMD segfault on multiple template match

Incomplete `specType`, like as (T : A!T), should not be used during determination of template partial specialization order.
Fix Issue 11425 - Broken shadowing variable diagnostic