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
Add "ambiguous type" and ready to use it
fix Issue 1983 - Delegates violate const

Carry information which function is overloaded and use it properly.
fix Issue 7322 - Taking address of deprecated functions isn't refused
fix Issue 7549 - typeof of overloaded function picks the lexically first one
fix Issue 8868 - overload resolution of &x.g() incorrectly chooses delegate over function pointer
fix Issue 9027 - Getting address of overloaded function using `cast` selects the lexically first one if there is no match