fix Issue 12719 - struct.c:705: virtual void StructDeclaration::semantic(Scope*): Assertion `parent && parent == sc->parent' failed.

Set `semanticRun` to `PASSsemanticdone;` immediately after the struct size determined.
Add TemplateParameter::hasDefaultArg
fix Issue 12728 - IFTI should consider instantiated types that has template parameters with default args
Merge pull request #3537 from 9rnsr/fix12719

[REG2.066a] Issue 12719 - struct.c:705: virtual void StructDeclaration::semantic(Scope*): Assertion `parent && parent == sc->parent' failed.
Merge pull request #3539 from 9rnsr/fix12728

[REG2.066a] Issue 12728 - IFTI should consider instantiated types that has template parameters with default args