Resolve regression in [0] which didn't account for the move to our
own callable type needing to validate the key types in the keyword dict.
Add `PyC_Dict_CheckKeysAreStrings` utility to allow reuse for
callable types in the future.
[0]: 877283a09a
Ref !155997
Add two tests, one to check that sub-classing works as expected,
another for the operators callable types.
Written to validate fixes for #155928 & #155996 and ensure
there are no further regressions.
Ref !155994