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
faster StringTable

- use a hash table with open addressing and linear probing
  for better cache locality
reserve enough initial capacity to avoid hash table resizes

- based on numbers from phobos compilation
fix Issue 13630 - Senseless error with foreach over variadic list
fix Issue 13645 - Incorrect ddoc generation for deprecated module
[detab] test/runnable/implicit.d
fix Issue 13640 - can break immutability with inout
fix Issue 13601 - static if (__ctfe) should emit error
[diagnostic] Use "compile time" for consistency instead of "compile-time"
fix Issue 13644 - ICE with foreach over array of Tuples