ART: Fix UninitializedReference handling

The merge rules in the verifier allowed Object to be successfully
merged with uninitialized references. This is invalid and should
result in a conflict. Fix by moving UninitializedReference rules
earlier.

Also add a test that forward merging is correctly allowed, both
with a valid result as well as a conflict.

Also add tests that backwards branches have the expected behavior.

Bug: 22411633
Change-Id: If837376c15f0b3550d6ce1721a3cde5901c80c7f
8 files changed