trace_processor: fix up sqlstats table (and time reported in shell)

Make the new iterator API work with the sqlstats table by splitting
the time_ended column into a "first next" column (which reports the
time to the first Next call on the iterator) and the actual end column
when the iterator is destroyed.

Also fix a subtle issue in trace processor interactive mode reporting
negative execution time.

Bug: 131627868
Change-Id: I24edb5576d9603bf004d61a83307022dfe16f43a
diff --git a/src/trace_processor/trace_processor_shell.cc b/src/trace_processor/trace_processor_shell.cc
index 05215e4..c7d374b 100644
--- a/src/trace_processor/trace_processor_shell.cc
+++ b/src/trace_processor/trace_processor_shell.cc
@@ -265,7 +265,7 @@
         if (input[0] == 'q')
           break;
       } else {
-        t_end = base::GetWallTimeMs();
+        t_end = base::GetWallTimeNs();
       }
       for (uint32_t i = 0; i < it->ColumnCount(); i++)
         printf("%20s ", it->GetColumName(i).c_str());