This implements the Enhanced Interpolated Expression Sequence proposal:
i"" or iq{} or q`` with a $(expression) in the middle are converted to a tuple of druntime types for future processing by library code.
This brings the following changes:
- Improves the existing template `_d_arraycatnTX`, to now concatenates
both arrays and single elements
- Changes the lowerings to `_d_arraycatT` to use the new template
- Moves the lowering logic to `_d_arraycatnTX` to expressionsem.d
- Adds a new field to `CatExp` called `lowering` to store the template
lowering
- Removes the old non-template `_d_arraycatnTX` and `_d_arraycatT` hooks
- Moves `test19688.d` from `runnable/` to `compilable/` until
https://issues.dlang.org/show_bug.cgi?id=23408 is fixed
Signed-off-by: Teodor Dutu <teodor.dutu@gmail.com>