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
fix Issue 13095 - Someteims  destructor is called if constructor throws
Fix Issue 13679 - foreach_reverse is allowed for AAs
refactor - reduce CTFE memory consumption pt 1
add target for default dmd.conf

- works for the common dmd/druntime/phobos folder layout

- does not overwrite existing dmd.conf files
Explicitly cast AA value to void*
Merge pull request #4121 from yebblies/aavoid

[DDMD] Explicitly cast AA value to void*
use std.algorithm: cmp
better error message when the same file is specified twice on the command line
Merge pull request #4122 from 9il/cmp

use std.algorithm: cmp
Merge pull request #4098 from MartinNowak/dmdConf

add target for default dmd.conf