Serialize CPU ScatterND string updates (#32033)
This pull request introduces improvements to the handling and testing of
string data in the `ScatterND` operator. The main changes include a fix
to disable parallelization for string data types and the addition of new
test cases to verify correct behavior with duplicate indices and string
concatenation.
Improvements to string data handling:
* Disabled parallel execution (`tp = nullptr`) for `std::string` data
types in the `ScatterNDDispatchTarget` struct to prevent potential
issues with concurrent string operations.
Expanded test coverage:
* Added `ScatterND_string_duplicate_indices` test to verify that when
duplicate indices are present, the last update value is used for string
data.
* Added `ScatterND_string_add_duplicate_indices` test to verify that
when the reduction attribute is set to `"add"`, updates to the same
string index are concatenated in order.