ART: Fix order of operations in HBasicBlock::DisconnectAndDelete

The method would remove predecessors before successors. As a result,
instructions used by dead loop phis would see dangling uses, causing
a DCHECK to fail.

Steps were reordered to remove dependencies in post order.

Bug: 27683071
Change-Id: I8e0e976443fb410908321a065276f1340b757c41
4 files changed