Fix printing of `var"keyword"` identifiers (issue #56936) (#57268)
Fixes #56936.
One quirk this change would introduce is that `:((1:10)[end])` will be
shown as `:((1:10)[var"end"])`, which is not ideal, but still correct.
It would make sense to fix this at the same time we fix `(let var"end" =
1; (1:10)[var"end"]; end) == 10` being true. I'll open a separate issue
for this.