Loads rows from the database as needed

Instead of running a query to get all of the database rows all at once,
iterate through the database rows to save memory
http://stackoverflow.com/questions/1078383/sqlalchemy-difference-between-query-and-query-all-in-for-loops