Merges three strings into one and returns the result. The old_data is an original version of data while new_data1 and new_data2 are modified versions of an original. An optional error is used to pass any rejected parts during merging process.
First string with data. It acts as "old" data.
Second string with data. It acts as modified version of old_data.
Third string with data. It acts as modified version of old_data.
If provided then rejected parts are stored inside this variable.
Returns the merged string, false if an internal error happened, or true if merged string is empty.