CTFE: Refactor sliceAssign from assignCommon

Split the absurdly large interpretAssignCommon into smaller pieces
CTFE: Refactor assignToIndex from assignCommon

Split the absurdly large interpretAssignCommon into smaller pieces
CTFE: Fix indentation
Fix bug 9634 [CTFE] wrong code concatenating arrays of structs

When concatenating, the array literals need to be duplicated, if
they are CTFE values.
Replace implicit conversions from class pointers to void* with explicit casts
Merge pull request #2216 from donc/ctfe9634structconcat

9634 [CTFE] wrong code concatenating arrays of structs
Merge pull request #2217 from donc/refactorCtfeAssign

Refactor CTFE assign
fix issue 10405 - redundant "expression has no effect" error when
returning non-void in void function
Merge pull request #2210 from hpohl/10405

fix issue 10405 - redundant "expression has no effect" error when returning non-void in void function
fixup pull#2210 - Change error report timing
Merge pull request #2222 from 9rnsr/fixup10405

fixup pull#2210 - Change error report timing
Merge pull request #2221 from yebblies/ohnotlocagain

[DDMD] Fix missed 0 -> Loc
Merge pull request #2219 from yebblies/shadow

[DDMD] Remove cases of variable shadowing
fix issue 10359 - Pointer slicing allowed in @safe mode
Merge pull request #2226 from hpohl/10359

fix issue 10359 - Pointer slicing allowed in @safe mode
Fixes Issue 10415 - Bad diagnostic on writing to an r-value property return.
Create README.md
Merge pull request #2218 from yebblies/objectvoid

[DDMD] Replace implicit conversions to and from class pointers with explicit casts
Merge pull request #2227 from AndrejMitrovic/Fix10415

Issue 10415 - Bad diagnostic on writing to an r-value property return
Fix issue 10397 ICE with __error in concatenation

ErrorExp was allowing implicit conversions in some cases, because
it is derived from IntegerExp! This made errors become un-errors
again in some circumstances.