Implement and test std::swap_ranges