Changed type parameter of CursorIterator to extend QueryResult instead of Model

There is no reason for CursorIterator to require its elements to extend Model instead of QueryResult, because Utils::getResultFromCursor() works with QueryResults too.

This fixes an unchecked cast and I think an error that would have been thrown if you tried to use a CursorList of QueryResults with a for...in loop (or called CursorList::asList() for example).