[MergeICmps] Simplify the code.
Instead of patching the original blocks, we now generate new blocks and
delete the old blocks. This results in simpler code with a less twisted
control flow (see the change in entry-block-shuffled.ll).
This will make https://reviews.llvm.org/D60318 simpler by making it more
obvious where control flow created and deleted.
Subscribers: hiraditya, llvm-commits, spatel
Differential Revision: https://reviews.llvm.org/D61736