make typedef an error
Merge pull request #4029 from WalterBright/typedef-error

make typedef an error
fix Issue 6620 - argument evaluation order inversed for extern(C)
Fix evaluation order of array operation operands left to right
Improve Expression::extractLast and completely extract argument side-effects
+refactoring
tweak for Win64
+2