refactor: introduce class ClientIdentity to the tracing core

This revision introduces class perfetto::ClientIdentity that carries
data fields from perfetto::ipc::ClientInfo (UID and PID) to be emitted
to trace packet by the tracing service. This class shortens the
parameter list in method calls like TracingService::ConnectProducer()
and ProducerEndpointImpl ctor or TraceBuffer::CopyChunkUntrusted() to
reduce the friction when introducing a new field from the client
connection (e.g. machine ID for multi-machine tracing) to the trace
packet.

Bug: 284258446

Change-Id: I3fb91aa7415364e5000e3c8470e9a1d20dae441d
diff --git a/BUILD b/BUILD
index dfab68b..f03bafd 100644
--- a/BUILD
+++ b/BUILD
@@ -708,6 +708,7 @@
     name = "include_perfetto_ext_tracing_core_core",
     srcs = [
         "include/perfetto/ext/tracing/core/basic_types.h",
+        "include/perfetto/ext/tracing/core/client_identity.h",
         "include/perfetto/ext/tracing/core/commit_data_request.h",
         "include/perfetto/ext/tracing/core/consumer.h",
         "include/perfetto/ext/tracing/core/observable_events.h",