iterator functions for database item list added

When I was working on the faster bulk object creation for pagelist and autonav, I also run into
some memory issues. They were caused because the database item list creates all the
objects at once. I thought that iterators are much more efficient for that and created this pull
request.

It probably needs a bit more work but I thought I'd share it anyways to hopefully start a
discussion about it. Here's a simple example that shows you the difference between the old
way and the iterator:

```php
Loader::model('page_list');

$pl = new PageList();

// old way without iterator
$pages = $pl->getPage();
foreach ($pages as $page) {
    echo $page->getCollectionName():
}

// new way with iterators
foreach ($pl as $page) {
    echo $page->getCollectionName();
}
```