ART: Change merges with Undefined to Undefined

The result of a merge with an Undefined type should be Undefined.
Conflicts are allowed to be copied around, but Undefined registers
should not be touched at all, except to be written into.

Add a success test case (the register isn't used) and a fail test
case (the register is tried to be copied).

Bug: 22331663
Bug: 22371999

(cherry picked from commit 97a1ff353f254b6e46c7501fe3f0e3254c2517b4)

Change-Id: I9697ce31c1d2ab5aee0433dcf1253bcca79c2983
5 files changed