Merge pull request #1741 from 9rnsr/fix9694

[REG2.063a] Issue 9694 - A member struct that has mutable opEquals reports weird error message
Carry 'this' type instead of 'this' expression
doHeaderInstantiation should create CtorDeclaration if it is necessary
doHeaderInstantiation should consider TemplateThisParameter
Fix parser problem for template ctor and TemplateThisParameter

Confused `this(this)` and `this(this T)`
Fix qualified constructor call semantics.

If the qualified constructor creates isolated object, it is implicitly convertible to any qualified object.

And now, inout constructor is properly supported.