Fix: warn unused ignores when not all specified error codes are used (#11178)
Fixes #11157
For --warn-unused-ignored, currently Errors.used_ignored_lines keeps track
of only the line numbers without error codes when errors appears on the line
with # type: ignore or # type: ignore[...].
This PR changes used_ignored_lines so that it also keeps track of error codes
and that information used in generate_unused_ignore_errors to show an error
message like unused "type: ignore[attr-defined]" comment.