A new version of adapting merge from C++

I've been lapsed for a while, and took a look at Swift.Algorithms, and noted some changes. Primarily, that some functions moved from being methods to free functions. I decided to look over the adaptation of std::merge from C++, and updated it. It's pull request 184.