Revert changes to contiguous flags definition while creating NPY_TEST_UNSAFE_STRIDES

This (mostly) reverts the changes in the contiguous flags definitions. It does keep however some minor changes to make the current (lets call it safe) flags definition consistent for 0-sized, and 1-sized corner cases (which means that for these in some cases arrays previously considered contiguous are not considered contiguous anymore).

It introduces the NPY_TEST_UNSAFE_STRIDES build type enviroment variable to change the strides definition and make most new arrays be created with NPY_MAX_INTP as strides for dimensions with shape[dimension] == 1, to make bad assumptions in this case surface almost certainly while testing.

--

This needs documentation, but I think that can be addressed in a different pull request.

I have no idea about the building stuff, to be honest when I tested the code, I had some problems with using the enviroment variable and I edited the setup script itself, because it seemed it didn't pick it up, so someone please have a close look if there is something missing there (especially with different build methods, etc.)