tpch: copy row data as lines are read
tpch: copy row data as lines are read

Many LOG(INFO) statements in the scanner path and several hours later, I
finally found this gem. Turns out, with the way we use this importer thing,
we must copy all column data into partial rows. We accumulate many rows
before flushing them all together, and if we don't copy, the next call to
GetNextLine() will overwrite line_ and corrupt the data in the previous row.

It's not great; a more performant alternative might be to store all consumed
lines in memory and release them on a flush. But it's certainly more correct
in that kudu-tpch now scans the right number of rows. I don't think its
remote path ever worked properly. When I tested it earlier and got the same
broken results, I mistakenly assumed that the Jenkins job uses a larger data
file and didn't think anything of the discrepancy. But plain old UNIX sort
and less (on a 900 MB file!) revealed the truth.

Change-Id: Ib9f8394652b7345cbfc13dddcb3e716a57abc6b7
Reviewed-on: http://gerrit.sjc.cloudera.com:8080/3637
Reviewed-by: David Alves <33ea948168c114d220e0372a903be6ee60f6396e@cloudera.com>
Tested-by: jenkins

cloudera/kudu,InspurUSA/kudu,andrwng/kudu,cloudera/kudu,helifu/kudu,EvilMcJerkface/kudu,EvilMcJerkface/kudu,helifu/kudu,helifu/kudu,helifu/kudu,InspurUSA/kudu,EvilMcJerkface/kudu,andrwng/kudu,cloudera/kudu,InspurUSA/kudu,andrwng/kudu,EvilMcJerkface/kudu,cloudera/kudu,helifu/kudu,EvilMcJerkface/kudu,helifu/kudu,andrwng/kudu,InspurUSA/kudu,EvilMcJerkface/kudu,InspurUSA/kudu,andrwng/kudu,andrwng/kudu,andrwng/kudu,cloudera/kudu,cloudera/kudu,EvilMcJerkface/kudu,cloudera/kudu,helifu/kudu,InspurUSA/kudu,cloudera/kudu,InspurUSA/kudu,andrwng/kudu,InspurUSA/kudu,EvilMcJerkface/kudu,andrwng/kudu,InspurUSA/kudu,helifu/kudu,helifu/kudu,cloudera/kudu,EvilMcJerkface/kudu