new std.array.replaceLast

While testing of replaceFirst with utf8 string I found a bug and fixed that.
This lead me to add replaceLast because I needed such a function in the past and didn't want to retro four times.
And local `import std.range : retro;` See also #2701