add func to create Rows from [][]driver.Value

Sometimes it's easier to create the data in driver.Rows from correctly typed
data instead of strings. Add new func, RowsFromSlice, to allow users to
populate create a driver.Rows by specifying the [][]driver.Value to be
used.

Refactor RowsFromCSVString to delegate to the new func.
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
Merge pull request #13 from bhcleek/slice-as-rows

add func to create Rows from [][]driver.Value
return rows if present when type assertion fails

When the query has rows, return rows even if they can't be cloned.