expand tuples for cpp parameter mangling
fix Issue 5893 - Allow simple aliases for operator overloading
fix Issue 5679 - Type aliasing "this" from an access function defined in base class confuses the compiler about the type of objects
use CC variable to compile strtold.c

- strtold is compiled w/o optimizations
Small refactoring
fix Issue 7017 - Pure inference makes inconsistent result
Fixes Issue 7192 - Print user-friendly error message on missing object.d druntime file
Add option to show deprecated errors as warnings

The new option -di treats deprecation errors as informational warnings,
just like -wi show warnings as informational messages without triggering
errors.

Tests that required -d are updated to use -di options too to ensure -d
and -di works exactly the same (except for the compiler messages). Test
that didn't really required -d to run (usually obscure bugs only
triggered with -d), are now using both -d and -di as PERMUTE_ARGS
instead of REQUIRED_ARGS, so the are more generally tested.
Fixes Issue 7656, Fixes Issue 7715. Escape special characters in ddoc
d code.
fix Issue 8937 - import declaration statement without scope after `if` imports to a parent scope
Issue 1427 - Generated .di files look ugly and are hard to read
Appendix for Issue 6652

If *implicit ref* foreach key doesn't have a mutable type, warning is not necessary.
fix Issue 8408 - Purity calculation should be improved
Merge pull request #1185 from llucax/deprecation-warnings

Add option to show deprecated errors as warnings
hasContinue returns bool
hasBreak, usesEH returns bool
fix and merge D2 pull #532
fix Issue 9000 - ICE on assigning struct's  to enum
I love valgrind
fix Issue 9008 - Another forward referencing bug