Fix Issue 9570 - Wrong foreach index implicit conversion error
add some array bounds check optimizations
fix Issue 12855 - Shadow register assignments for spilling can conflict
[Refactoring] merge test cases to reduce files
fix Issue 12777 - const/immutable member function violating its const-ness - confusing error message
Improve "cannot modify ..." messages
Fix Issue 12864 - can no longer use toLower in string switch case
fix Issue 12825 - Invalid "duplicated union initialization" error with initialized field in extern(C++) class
fix Issue 5635 - Code inside 'foreach' using opApply cannot modify variable out of its scope in a template function.
fix Issue 6430 - Overloaded auto-return functions each with a nested aggregate of the same name are conflated
fix Issue 8100 - [ICE] with templated subclassing
fix Issue 8392 - DMD sometime fail when using a non static function template within a function template
fix Issue 8499 - ICE on undefined identifier
fix Issue 9708 - inout breaks zero parameter IFTI
fix Issue 12362 - dmd hangs when attempting to use undefined enum
Merge pull request #3644 from yebblies/issue12864

[REG] Issue 12864 - can no longer use toLower in string switch case
Merge pull request #3646 from 9rnsr/worksforme

Add test cases for worksforme issues with git-head
Merge pull request #3645 from 9rnsr/fix12825

Issue 12825 - Invalid "duplicated union initialization" error with initialized field in extern(C++) class
Delete long-dead 'throws' code
Delete dead functions 'defineRed' and 'nameCollision'