[WIP] #6965 - non-recursive `ArrayUtils::merge()` implementation

See #6965

This is just an experiment, and I didn't benchmark it.
Anyone who is familiar with tail recursion is welcome to check this out. `goto` and other dirty hacks are also welcome as long as they don't mess with HHVM's performance.
doMerge is `private`