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
fix Issue 11216 - Make synchronized statement `nothrow`

- mark _d_monitorenter/exit as nothrow
add target for default dmd.conf

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

- does not overwrite existing dmd.conf files
Fix unconvertible comment
Fix shadowing
Do not rely on implicit conversion from integer to bool
Do not use reserved identifier '__dollar' for a variable name
Do not name a variable 'pure'