fix integer overflow in unicode case operations (closes #22643)

--HG--
branch : 3.3
make sure length is unsigned

--HG--
branch : 3.3
it suffices to check for PY_SSIZE_T_MAX overflow (#22643)

--HG--
branch : 3.3
test is cpython only

--HG--
branch : 3.3