BUG: fix wrong error checks of PyBytes_AsStringAndSize

its documented to return -1 not negative on failure, though only the one
in ufunc_type_resolution.c was actually broken due to a spurious not and
buffer.c threw a ValueError without clearing the TypeError.
Merge pull request #5088 from juliantaylor/not-fix

BUG: fix wrong error checks of PyBytes_AsStringAndSize