ThreadSanitizer: add ignorelist and suppressions file (#59741)
Instrumenting the garbage collector results in a ton of warnings that
would require relaxed atomics to suppress, and is a huge performance
drag. This change turns off instrumentation for non-atomic operations
for everything in `src/gc-*.c`.
Also, adds a `suppressions.txt` to be used with
`TSAN_OPTIONS="suppressions=contrib/tsan/suppressions.txt"` that
suppresses the lock order inversion warning on method locks, which is
documented in
https://docs.julialang.org/en/v1.13-dev/devdocs/locks/#Exceptions-to-the-lock-hierarchy.