chore: Configure tsan and msan builds. by coryan · Pull Request #3011 · googleapis/google-cloud-cpp

@coryan

This change configures (but does not enable) the tsan (ThreadSanitizer)
and msan (MemorySanitizer) builds. The are a couple of changes in the
code:

- tsan found a real race condition in `google::cloud::promise<T>`, also
  created a couple of unit tests to repro the bug with minimal overhead.
- msan yields a false positive for one of the tests related to signal
  handlers. I chose to simply disable the test in this case.

A separate change inside Google will enable these builds.