Fixed unbouded array to work with objects & iterateMatch matehod refactoring

Unbounded array pattern added by @K-Phoen was not working with arrays built from objects.
Failing example: 
```
    array(
        '[{"name": "Norbert"},{"name":"Michał"},{"name":"Bob"},{"name":"Martin"}]', // value
        '[{"name": "Norbert"},@...@]' // pattern
    ),
```
This PR fix this small issue and simplify iterateMatch method in ArrayMatcher.