[TF] Introduce callables. (#24086)
Introduce callables: values that can be "called" like functions.
```
struct Adder {
var base: Int
call func(_ x: Int) -> Int {
return base + x
}
}
let add3 = Adder(base: 3)
add3(10) // 13
```
This is experimental functionality and highly subject to change:
the design will be updated based on feedback for SE-0253.