Fix Issue 10460 - auto ref Union, SetDifference, SetSymmetricDifference

https://issues.dlang.org/show_bug.cgi?id=10460

The rearrangement of SetSymmetricDifference.front was needed since auto ref doesn't deduce correctly when there are multiple return statements (by design), so a single return statement with the ternary operator was used.
THis seems wrong: "intersection" implies the item belongs to both range. Making it return by ref will change only one range, and desync the intersection. Also, doesn't intersection operate on sorted ranges? Does it even make sense to modify sorted range values? Seems dangerous...