Allow extern(C++) classes
Do not emit classinfo pointer as first entry of vtbl for C++ or COM classes
Do a reinterpret cast for any cast to or from a C++ class or interface
Do not compare C++ classes with .object.opEquals
Disable invariant calls for C++ classes
Switch to power of 2 tables in aav.c

Brings in somewhere in area of 1-2% increase in speed as measured by
dmd -unittest -c std\algorithm.d

on Linux x64

This closely follows the original prime sizes by using next pow-2 of primes
and reproducing roughly the same grow factor (=4).

Takes into account that key are aligned pointers to strings
and thus need a fair bit-shake to get a decent distribution.
remove ifdef'ed trace from aav.c
fix Issue 10761 - DMD crashes on unspecified inout matching
fix Issue 10758 - Unsound type checking for inout
Merge pull request #2455 from 9rnsr/fix_inout

Improve inout substitution algorithm for function pointer and delegate types
Add fail_compilation test for bug 2962
Adjust insertion target of the instantiated template
Move 4481 test from compilable to runnable in order to check the generated code
fix Issue 10086 - ICE(glue.c) or wrong code on passing variable as template value parameter
fix Issue 10857 - ICE(glue.c,　bugzilla 2962?) or compiles, depending on the files order
Add test case for issue 7049.
Additional fix issue 10758 for inout method of nested aggregate
Merge pull request #2484 from quickfur/test7049

Add test case for issue 7049.
Fix issue 10840 CTFE *this._data.arr is not yet implemented

This is a wrong-code bug in ?:, and a failure to detect null pointers
in DotVar expressions.
Fix Issue 10626 - ICE with vector operation

Fix regression by forwarding buildArrayIdent and buildArrayLoop to the base implementation for all other derived expressions.

Add test cases to improve coverage.