ENH: Allow ravel to reshape in place when possible

This fixes a lot of corner cases in reshape 'K' when the array
is not contiguous in the first place, it was previously never
ravelled in place.

Closes gh-5033
BUG: Readd the cblas.h header.

Rename cblas.h to npy_cblas.h and put it in numpy/core/src/private.
Fix the various includes to account for the change.

It turns out that MKL provides cblas, but not cblas.h. Rather, they
provide mkl_cblas.h, which also uses typedefs for the CBLAS_XXX enums.
Merge pull request #5078 from charris/add-back-cblas.h

BUG: Readd the cblas.h header.
Merge pull request #5034 from seberg/inplace-ravel

ENH: Allow ravel to reshape in place when possible
BUG: fix out of bound access in unicode argmin/argmax

elsize is in bytes and the pointer of unicode type, so it must divided
by the size.
Closes gh-5082
Merge pull request #5087 from juliantaylor/unicode-argmin

BUG: fix out of bound access in unicode argmin/argmax
DOC: add section on compiling pyf files

Add section to remind the readers to recomplile add.pyf and add.f95
files before checking the add module in python
Merge pull request #5076 from kanhua/kh_fix

DOC: Minor fix on c-info.python-as-glue.rst
BUG: fix wrong error checks of PyBytes_AsStringAndSize

The check in ufunc_type_resolution.c is broken due to a spurious not and
a few cases of TypeError being overwritten without clearing.
Also change all of these error checks to a negative check for
consistency.
Merge pull request #5088 from juliantaylor/not-fix

BUG: fix wrong error checks of PyBytes_AsStringAndSize