fix NULL pointers in .minfo section for 32-bit ELF objects

introduced-by: 62e628745b13c98c9924262a3007cd28b70632d1
Merge pull request #1692 from dawgfoto/fixModuleInfoSection

fix NULL pointers in .minfo section for 32-bit ELF objects
fix Issue 9091 - Using __traits(getMember) on template argument fails inside member function

Use ThisExp instead of VarExp to avoid interpretation on template arguments.
If a VarExp requires right 'this' but doesn't have it, make it an error

And, distinguish typeof(Type.var) and typeof({ auto x = Type.var; }) by sc->intypeof == 1 or 2.
Use ScopeExp for correct semantic path

Additional fix for Issue 3775 - Segfault(cast.c): casting no-parameter template function using property syntax

Allow using Type.templatefunc as a property
Add implicit translation from Type.aliasthis.member to typeof(Type.aliasthis).member

And, add some test cases for 'alias this'.
Add backout process from VarExp to DsymbolExp in TypeXXX::resolve
fix hasThis for inside mixin
fix Issue 1680 - static struct constructor overloaded with method prevents compilation in inner function