[ty] Emit diagnostic when specializing a non-generic class (#26883)
## Summary
Emit `not-subscriptable` when a non-generic class is specialized in a
type expression, and recover as `Unknown` instead of an internal `@Todo`
type.
This highlighted some scenarios in the ecosystem result where
`not-subscriptable` is being emitted but it might not be ideal, refer to
my inline comments. I've added mdtest cases for these looking at the
ecosystem result.
Closes https://github.com/astral-sh/ty/issues/2439.
## Test plan
Update the mdtest