Table add missing `sink`
### Description

Table should not need to copy its key argument during insertion:

```nim
import std/tables
type NoCopies = object

proc `=copy`(a: var NoCopies, b: NoCopies) {.error.}

var t: Table[NoCopies, NoCopies]
t[NoCopies()] = NoCopies() # only moves
```

The same _probably_ holds for a lot of std lib containers, ie the concept applies to all of them.

### Nim Version

2.2

### Current Output

```text
Error: '=copy' is not available for type <NoCopies>; requires a copy because it's not the last read of 'key'; try to make key a 'sink' parameter; routine: rawInsert
```

### Expected Output

```text

```

### Known Workarounds

_No response_

### Additional Information

_No response_