Merge changes from topic "perfettoprotologimpl-refactor-processed-and-unprocessed" into main
* changes:
Fallback to a NoOp ProtoLogImpl when viewer config is missing
Ensure we always de-duplicate groups on ProtoLog init
Wrap ProtoInputStream in autoclosable class
Simplify nested logic
Don't try to log to logcat before the service is ready to trace messages to logcat
Update PerfettoProtoLogImpl constructor usages to use unprocessed and processed implementations where relevant
Update tests
Implement unprocessed version of PerfettoProtoLogImpl
Create ProcessedPerfettoProtoLogImpl class
Turn PerfettoProtoLogImpl class into abstract class to support both a version for processed and unprocessed protologs