Given a list of find/replace items, does all the find and replacements in the second
parameter.
If the find text is empty, no replacement is performed. If any find occurrences overlap,
the earliest matching item in the find/replace is used.
replace many([(find: "at", replace: "og"), (find: "the", replace: "a")], "the cat in the hat")→"a cog in a hog"
replace many([(find: "ooo", replace: "eow"), (find: "oo", replace: "eh")], "Mooo moo mooo!")→"Meow meh meow!"
replace many([(find: "apple", replace: "pear")], "orange")→"orange"
replace many([], "original")→"original"