Loop ID metadata (llvm.loop) might get falsified if we split critical
backedges. This patch ensures that only a valid annotation survives
and is attached to the correct branch instruction which can be the old
or the new one.
Four of the five test cases check for all different situations which
can arise when we split an edge annotated with llvm.loop metadata and
when LoopInfo is present. The fifth checks that we remove such metadata
in case LoopInfo is not present as everything else might invalidate the
annotation.