Evaluate SELECT queries lazily. Have the following methods on results objects: - `.toArray()`, which runs execute and returns an array of results like we do now. - `.forEach()` and similar ES5 methods, which utilizes `.eachRow` for buffer-less iteration