ENH: core: add a fast path for PEP3118 buffer string parsing

The call back to Python numpy.core._internal._dtype_from_pep3118 is an
unnecessary large overhead for the most common case, when the buffer
passed in has a simple non-composite type.

This commit adds a fast path for the simple case.
BUG: Whitespace stripping in pep3118 format parser and early free

Closes gh-3348
BUG: Hang on to originally filled Py_Buffer view.

When filling the python buffer view object, python sets
view.shape = &view.len (ndim=1, so this works). If we copy
the view info into our Memoryview object instead of having
it directly filled &view.len points into nirvana.

Closes gh-3175
Merge pull request #4367 from charris/backport-1.8-buffer-fixes

Backport 1.8 buffer fixes