EntityIterator improvements

- [ ] Ability to fetch pagination data object using `getPaginationData`
- [ ] Ability to directly fetch array of entities using `getEntities`
- [ ] `$entities` param in `__construct` defaults to `array()`
- [ ] Implement `Iterator` so `EntityIterator`s can be used in foreach loops