Clean up code in inifile.c
fix Issue 12622 - Purity, @safe not checked for pointers to functions
Merge pull request #3489 from 9rnsr/fix12622

Issue 12622 - Purity, @safe not checked for pointers to functions
fix Issue 12689 - [CTFE] assigning via pointer from 'in' expression doesn't work
Merge pull request #3521 from 9rnsr/fix12689

Issue 12689 - [CTFE] assigning via pointer from 'in' expression doesn't work
Merge pull request #3354 from yebblies/inifile

[cleanup] Untangle the rat's nest in inifile.c
fix Issue 12688 - Strange error if function call is in parentheses

`(s.foo).writeln` is parsed as `DotIdExp(TypeExp('s.foo'), 'writeln')`, but the type `s.foo` should be analyzed as dotvar expression.
fix Issue 12673 - ICE with static assert and __traits(compiles) with non-existent symbol
Merge pull request #3525 from 9rnsr/fix12673

Issue 12673 - ICE with static assert and __traits(compiles) with non-existent symbol
Add license to visitor header
Merge pull request #3523 from ibuclaw/visitorlicense

Add license to visitor header
Merge pull request #3524 from 9rnsr/fix12688

Issue 12688 - Strange error if function call is in parentheses
Separate class hierarchy calculation from class member semantics
fix Issue 12078 - forward reference issue with is() and curiously recurring template pattern
fix Issue 12143 - Base class is forward referenced
fix Issue 11622 - Assertion failure in totym(), glue.c, line 1288