fix Issue 13484 - Template type deduction from delegate parameter fails

The implicit conversion of expressions to delegates was added in 0.165 (a2b1fa4978948ca4d293c38666bd607c03ba791a, http://www.digitalmars.com/d/1.0/changelog2.html#new0165), but it was replaced with lazy parameter.
fix Issue 13490 - Can't append to array of structs with alias this as lvalue ternary opoerator result
Merge pull request #4000 from 9rnsr/fix13484

Issue 13484 - Template type deduction from delegate parameter fails
implement UDA for module declaration
fix Issue 13498 - Return type is not checked in function template
[Refactoring] Unify parsing code for linkage, uda, and template parameters
fix Issue 13502 - Stray '(' warning not emitted for documentation of enum templates
Merge pull request #4004 from 9rnsr/fix13498

[REG2.067a] Issue 13498 - Return type is not checked in function template
fix Issue 13497 - [ICE e2ir 1911] Array op compiler error
Merge pull request #4007 from 9rnsr/fix13497

[REG2.065] Issue 13497 - [ICE e2ir 1911] Array op compiler error
Merge pull request #4005 from 9rnsr/fix13502

[REG2.065] Issue 13502 - Stray '(' warning not emitted for documentation of enum templates
fix Issue 13515 - "Range violation" when writing to array of AAs from static this
fix Issue 13505 - No line number with void array in class
[Refactoring] checkNonAssignmentArrayOp
fix issue 13497 remained case

`AssignExp::semantic` should handle cases in both valid and invalid array operations.
fix Issue 12381 - [ICE] An internal error in e2ir.c while casting array ops
implement ctfe yl2x and yl2xp1
fix Issue 13514 - Druntime no longer builds with -g
fix Issue 13503 - Bad code with -inline, varargs and auto return
[Refactoring] cleanup code in Parameter::isLazyArray()