Ability to replace key in ArrayUtils::merge

It's related with remove key #6899 @Ocramius
Yes, this is indeed what `final` is for. This object is just a thin data wrapper, and I don't see any advantage in extending it, not even in cases where you want to fetch data from, say, a DB connection.

If you think there is a use-case for extension, then I suggest interfacing it instead, and making this concrete implementation `final`