Switching ArrayObject matcher to try and fix build for HHVM

The goal of using ``isset()`` first was to be faster than ``array_key_exists`` when it exists and is not ``null``. If you run array_key_exists first, isset is not needed anymore for arrays at all.

On the other hand, I don't think ``array_key_exists`` works with ArrayAccess``, meaning the current code is actually broken (ArrayObject works with ``array_key_exists`` in PHP, but I think it receives a special treatment compared to ArrayAccess implementations).

And if HHVM does not support ``isset($subject['abc'])`` for ArrayObject, it is a bug in HHVM which must be reported