[clang][transformer] Add `merge` range-selector for selecting the merge of two ranges. (#169560)
This new range-selector `merge` takes in two ranges and selects from
min(begin locs of input ranges) to max(end locs of input ranges). This
is useful for when the user needs to select a range that is a merge of
two arbitrary ranges (potentially overlapped and out of order).
The existing `enclose` range-selector does something similar but it
requires the first range's begin loc appears before the second range's
end loc. The `merge` range-selector complements `enclose`.
---------
Co-authored-by: Yitzhak Mandelbaum <ymand@users.noreply.github.com>