Adds support for `__slots__` assignment (#10864)
### Description
Fixes #10801
We can now detect assignment that are not matching defined `__slots__`.
Example:
```python
class A:
__slots__ = ('a',)
class B(A):
__slots__ = ('b',)
def __init__(self) -> None:
self.a = 1 # ok
self.b = 2 # ok
self.c = 3 # error
b: B
reveal_type(b.c)
```