Re-implement Statement::apply in terms of Visitor
Merge pull request #3111 from yebblies/sapplyvisitor

[DDMD] [refactor] Re-implement Statement::apply in terms of Visitor
Merge pull request #3164 from yebblies/inlinescan

[DDMD] [refactor] Move inlineScan into a visitor class in inline.c
Move buildArrayIdent into a visitor class
Move buildArrayLoop into a visitor class
Convert array op utility functions into free functions
Merge pull request #3185 from yebblies/arrayop

[DDMD] [refactor] Move arrayop functions into visitor classes in arrayop.c
Move Expression::apply into a visitor class
Move lambdaInlineCost to use the apply visitor
Move lambdaSetParent and lambdaCheckForNestedRef to use the apply visitor
Move hasSideEffect to use the apply visitor
Fixes Issue 11823 - Ddoc symbol with a double underscore prefix should be specially parsed.
Merge pull request #3180 from AndrejMitrovic/Fix11823

Issue 11823 - Ddoc symbol with a double underscore prefix should be specially parsed.
Merge pull request #3186 from yebblies/apply

[DDMD] [refactor] Move Expression::apply into a visitor class
Remove some comments inside expressions
Remove empty statement
Explicitly compare with zero
Remove comments inside parameter lists
Move comment before switch
Move TemplateParameter comments before the class, instead of the first member