[red-knot] Improve `Symbol` API for callable types (#14137)
## Summary
- Get rid of `Symbol::unwrap_or` (unclear semantics, not needed anymore)
- Introduce `Type::call_dunder`
- Emit new diagnostic for possibly-unbound `__iter__` methods
- Better diagnostics for callables with possibly-unbound /
possibly-non-callable `__call__` methods
part of: #14022
closes #14016
## Test Plan
- Updated test for iterables with possibly-unbound `__iter__` methods.
- New tests for callables