Fix how strides is set on Py_buffer object when the array is C-contiguous

This is a possible fix for #5085.

A complete solution would probably convert the strides array from something containing -1's into the equivalent without them, but I don't know all the corner cases involved with that.
Last thing, but I would somewhat prefer something like:
```
c = np.ones((1, 10, 10))
# Check for NPY_RELAXED_STRIDES_CHECKING:
if np.ones((10, 1), order="C").flags.f_contiguous:
    c.strides = (-1, 80, 8)
```
since the fact that the strides are messed up is currently an implementation detail and will never be the case in the release version.