Make must_not_suspend lint see through references when drop tracking is enabled
See #97333.
With drop tracking enabled, sometimes values that were previously linted are now considered dropped and not linted. This change makes must_not_suspend traverse through references to still catch these values.
Unfortunately, this leads to duplicate warnings in some cases (e.g. [dedup.rs](9a74608543/src/test/ui/lint/must_not_suspend/dedup.rs (L4)
)), so we only use the new behavior when drop tracking is enabled.
cc ``@guswynn``
For high-level intro to how type checking works in rustc, see the type checking chapter of the rustc dev guide.