Make data dependency around HDeoptimize correct.

We use HDeoptimize in a few places, but when it comes to data
dependency we either:
- don't have any (BCE, CHA), in which case we should make sure no
  code that the deoptimzation guards moves before the HDeoptimize
- have one on the receiver (inline cache), in which case we can
  update the dominated users with the HDeoptimize to get the data
  dependency correct.

bug:35661819
bug:36371709
test: 644-checker-deopt

Change-Id: I30b750f97b656dede9e10e7e43ac02c8604d7b7a
(cherry picked from commit 6f8e2c9913b24f746a154dda700f609cee3095f9)
17 files changed