make query results reusable

Return a clone of the rows that are used as query results so the query can be
executed multiple times.
Merge pull request #14 from bhcleek/reusable-rows

make query results reusable