Add check for circular "alias this" type dependency.
Add check recursion in typeMerge
Fix SliceExp::semantic, and (Una|Array|Bin|BinAssign)Exp::op_overload
Fix CallExp and AssignExp
Fix inferAggregate
Fix checkToBoolean
Add comment
Reduce and pack in TypeStruct/TypeClass field, and use enum for readability.
Merge pull request #1028 from 9rnsr/fix_aliasthis

Issue 7437,7980,8053 - Partial fix for stack overflow with recursive alias this