TraceProcessor: introduce RefCounted<T>, remove std::shared_ptr

1. There is already a case of manually-handled refcounting
   in TraceBlob / TraceBlobView.
2. PacketSequenceStateGeneration was using std::shared_ptr.
   That introduce unnecessary atomics because it's thread-safe
   (which we don't need and it's a fast-path).

Bug: 205302474
Change-Id: Ia5fd6e9b0389a570e55474c4d81f588c7dc5cba1
diff --git a/Android.bp b/Android.bp
index 780930a..845d0c4 100644
--- a/Android.bp
+++ b/Android.bp
@@ -8304,6 +8304,7 @@
         "src/trace_processor/importers/proto/proto_trace_parser_unittest.cc",
         "src/trace_processor/importers/syscalls/syscall_tracker_unittest.cc",
         "src/trace_processor/importers/systrace/systrace_parser_unittest.cc",
+        "src/trace_processor/ref_counted_unittest.cc",
         "src/trace_processor/trace_sorter_unittest.cc",
     ],
 }