fix Issue 13832 - delegates that return ref do not output correctly to .di file
Merge pull request #4201 from 9rnsr/fix13832

Issue 13832 - delegates that return ref do not output correctly to di file
Stop generating internal __cpctor function so it's just redundant

Instead we can directly memcpy the object, then call the postblit.
fix Issue 13784 - Wrong code with modulo operation and optimisations enabled
Merge pull request #4214 from WalterBright/fix13784

fix Issue 13784 - Wrong code with modulo operation and optimisations ena...
fix Issue 13864 - tuple expand causes range violation
Merge pull request #4216 from 9rnsr/fix13864

[REG2.066] Issue 13864 - tuple expand causes range violation
fix 13776 - Incorrect "recursive alias declaration" error with `__traits(compiles, ...)`
Change remaining old 'offset' deprecation to error
fix Issue 12776 - Wrong type for __vector(int[4]).init
fix Issue 12780 - Multiplying integer array by scalar double fails

Support upcasting slice elements in array operations.

1. The tweak in the buildArrayIdent() retains backward compatibility.
a) If no element upcasting exists in array operation, the generated function name is not changed.
  double_res[] = double_val * double_arr[];
  // _arrayExpSliceMulSliceAssign_d
b) If upcasting slice elements is necessary, it will be encoded by the postfix "Of" + element-type-deco
  double_res[] = double_val * int_arr[];
  // _arrayExpSlice'Ofi'MulSliceAssign_d

2. Even if the whole array operation requires double element, the sub array operations can be processed by int.
  double_res[] = (int_val ^ int_arr[]) * double_val;
  // typeof(int_val ^ int_arr[]) == int[]
fix Issue 12163 - pdb debugging (win64): stepping loops points to incorrect lines
Merge pull request #4217 from 9rnsr/fix12776

Issue 12776 - Wrong type for __vector(int[4]).init
Merge pull request #4219 from WalterBright/fix12163

fix Issue 12163 - pdb debugging (win64): stepping loops points to incorr...
Merge pull request #4172 from 9rnsr/fix13776

[REG2.067a] 13776 - Incorrect "recursive alias declaration" error with `__traits(compiles, ...)`
Merge pull request #4183 from 9rnsr/remove_cpctor

Stop generating internal __cpctor function
Merge pull request #4218 from 9rnsr/fix12780

Issue 12780 - Multiplying integer array by scalar double fails
Simplify CTFE interpreter

- Merely distinguish CTFE values and CTFE references.
- Improve any reference handling, including 'this' expresison.