Don't emit "XDeclaredButNotUsed" hint for instances of types with custom destructor
### Description

Destructors are useful for RAII-style scope-based utilities. As such, they can be seen as a better and more flexible `defer`, given that they are reusable.

However, to use them as such, one needs to create an instance somewhere whose only purpose is to go out of scope at the right moment and that variable will never be used by regular code - the custom destructor itself is the usage.


```nim
type Defer = object

proc `=destroy`(x: X) = echo "this is the meaningful part of using Defer"

proc f() =
  var x: Defer # this should result in no hint
```

As an alternative, a separate  hint could be given for the code above - this would allow applications to turn the normal "XDeclaredButNotUsed" hint into an error while leaving this usecase alone.


### Nim Version

2.2.0

### Current Output

```text

```

### Expected Output

```text

```

### Known Workarounds

_No response_

### Additional Information

_No response_