Adding clang thread safety analysis for ROS2 core packages

As we talked offline, I would do as follow:

  1. Add and merge PRs adding the TSA colcon mixin, the rcpputils code for the macros and the class annotation. We can do that now and this is a no-op if the mixing is not being used.
  2. Try to find a way for the whole build + test run to succeed:
  • Only target Mac OS X for now (if clang stdc++ is the default one on OS X? otherwise I guess brew can pass custom flags?)
  • Try to build everything from source on Linux and check that it works. If yes, we can figure a way to build everything from source in the CI.