Fix Issue 5908 - Optimizer generates wrong value with divide-by-zero.

Reinstate optimizer error for integer division by zero
[Refactoring] simplify the code to inherit @safe attribute
[Refactoring] simplify the code in checkPurity
fix 9148 - Issue 9148 - 'pure' is broken
Remove hack for issue 10981
fix Issue 9620 - Error messages of failed pure enforcement
fix Issue 12912 - Lambda function is incorrectly inferred as impure if it uses member field or function
fix Issue 12908 - [AA] `foreach` by keys and values over associative array in pure function allow impure function calls
fix Issue 13120 - Body of `foreach` over string with transcoding ignores function attributes
fix Issue 3449 - const and invariant struct members do not behave according to spec
AA tests harmonization with new AA implementation
fix Issue 13095 - Someteims  destructor is called if constructor throws
StringTable::insert should return NULL if key already exists
fix Issue 13668 - [ICE] unable to compile __traits(allMembers...)
fix Issue 10528 - Private constant (enum) properties not private
[Refactoring] fix code style in ctfe interpreter
Merge pull request #4105 from 9rnsr/refactor_ctfe

[Refactoring] fix code style in ctfe interpreter
Merge pull request #4102 from MartinNowak/fixStringTableInsert

StringTable::insert should return NULL if key already exists
Merge pull request #4104 from 9rnsr/fix10528

Issue 10528 - Private constant (enum) properties not private
Merge pull request #4103 from 9rnsr/fix13668

Issue 13668 - [ICE] unable to compile __traits(allMembers...)