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
fix Issue 13668 - [ICE] unable to compile __traits(allMembers...)
fix Issue 10528 - Private constant (enum) properties not private
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...)
fix Issue 13613 - Pragma msg affects data structure layout
Merge pull request #4106 from 9rnsr/fix13613

Issue 13613 - Pragma msg affects data structure layout
Store config filename in global object.
Show config file if object.d can't be found.

To help troubleshoot problems caused by stray copies of dmd.conf
(see bugzilla issue 4567).