Prevent ArrayObject recursion in 5.6

In PHP 5.6, calling `isset()` on an instance of `ArrayObject` will invoke both `offsetExists()` and `offsetGet()`. Adding an `isset()` inside `offsetGet()` will therefore result in an infinite recursion.

This patch addresses the above issue in a backward compatible manner.