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
[Refactoring] Move Type::reliesOnTident into a visitor class
[Refactoring] Simplify the role of inferType function

Move lambda deduction handling code from inferType to deduceType
[Refactoring] Add FuncExp::matchType and simplify lambda conversions
[Refactoring] inferType