Use lower-case generics more consistently in error messages (#17035)
Suggest `list[x]` instead of `List[x]` on Python 3.9 and later in hints.
We already suggest `x | None` instead of `Optional[x]` on 3.10+, so this
makes the error messages more consistent.
Use lower-case `type[x]` when using `reveal_type` on Python 3.9 and
later.