scavenge_one doesn't handle WHITEHOLEs
Currently `scavenge_one` fails to handle `WHITEHOLE`'d closures. It may encounter these while scavenging the mutable list via two paths:
1. when an MVAR is being marked concurrently as whiteholes are used to lock MVARs
2. when the object belongs to a chain of selectors being short-cutted.
This will result in errors of the form:
```
Badger.exe: internal error: scavenge_one: strange object 58
(GHC version 9.8.2 for x86_64_unknown_mingw32)
Please report this as a GHC bug: https://www.haskell.org/ghc/reportabug
```
issue