[SPARK-3698][SQL] Correctly check case sensitivity in GetField

This PR is a follow up to https://github.com/apache/spark/pull/2382
It fix a bug when resolve something like `a.b[0].c.d`, https://github.com/apache/spark/pull/2382 only do case sensitive check when resolve `Unresolved("a.b")` to `GetField(Attribute("a"), "b")`, but not `c` and `d`.
If possible, I think it might be clearer to keep the resolver logic in the Analyzer rule.