trace_processor: properly handle and expose parent upids

This change exposes the parent upid for a process if it known. It also
adds some logic to handle the cases where a threaded process forks
to associate the child process correctly with the upid of the parent
once it becomes known.

Bug: 136635390
Change-Id: Ic15c60f72f1ca23e2c2f1689323453d97094dcfc
diff --git a/src/trace_processor/trace_storage.h b/src/trace_processor/trace_storage.h
index 9241e2e..66925e5 100644
--- a/src/trace_processor/trace_storage.h
+++ b/src/trace_processor/trace_storage.h
@@ -111,7 +111,7 @@
     int64_t end_ns = 0;
     StringId name_id = 0;
     uint32_t pid = 0;
-    base::Optional<UniquePid> pupid;
+    base::Optional<UniquePid> parent_upid;
   };
 
   // Information about a unique thread seen in a trace.