[AutoDiff] Fix `@differentiating` type-checking for differentials. (#23353)
* [AutoDiff] Fix `@differentiating` type-checking for differentials.
Fix type-checking for differential functions.
Simplify pullback/differential type-checking diagnostics.
Resolves TF-366.
* Revamp differential/pullback type mismatch diagnostics.
- Revamp differential/pullback type mismatch diagnostics.
- Emit type mismatch error on `@differentiating` attribute.
- Emit note with expected differential/pullback type on actual type location.
- Emit note showing original function location, if possible.
- Perform original function lookup before checking `wrt` parameters.
- Change error message for `differentiating_attr_overload_not_found`.