Merge changes from topic "no-processing-protolog" into main

* changes:
  Handle null object params
  Handle potentially null strings passed as ProtoLog parameter
  Refactor
  Collect the stacktrace before entering the background thread
  Ensure we wait for all messages to be traced before terminating the trace
  Update ProtoLog tests
  Remove expensive trace call in ProtoLog log call
  Use registerGroups API
  Initialize ProtoLog instances statically
  Add register groups API
  Add logcat only ProtoLog impl
  Handle null args list
  Always remove message string argument from processed calls
  Clearly distinguish ProtoLog hash vs message interface
  Improve performance of computing if a group is enabled
  Add support for ProtoLogging without any source code pre-processing