Move column reuse into `IColumn::cut` and its overrides. Document that
slices can share storage and use `IColumn::mutate` in the hash join caller.
Add shared-column correctness coverage and a nested-array benchmark.
Suggested in https://github.com/ClickHouse/ClickHouse/pull/118788#discussion_r3958035772