Don't load the whole query in memory

 instanciate models as they are needed and don't create a Laravel Collection unless needed, they cost a lot of memory.

No breaking changes, all tests ok :)