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
Remove commented code inside an argument list
Merge pull request #3196 from yebblies/deadcomment

[DDMD] [trivial] Remove commented code inside an argument list
Merge pull request #3195 from yebblies/tmplcomment

[DDMD] [trivial] Move TemplateParameter comments before the class, instead of the first member