Fix strides when creating Python buffer
Explicitly set strides with negative number in test
When requesting Fortan order, don't return C order.
BUG: fix undefined ldexpl and frexpl with msvc

The functions are macros in msvc which we undefine and redeclare in
npy_math. Since we now generate the ldexpl and frexpl ufuncs in gh-4852
this was broken by the extra logic for them in npy_config.h
BUG: don't set invalid flag in cbrt fallback

cbrt does not set the invalid flag on nan input as all inputs are valid.
Fix the fallback to behave the same.
MAINT: Give a more helpful error for bad axis specifications.

This specifically addresses passing things like axis=[0,1] which
gave an error message that an int was required.  The real error
was that if the axis isn't None or a tuple, it was simply wraped
in a tuple, so the ufunc that is eventually called ended up with
a list.  The error message is matches that in
core/src/multiarray/conversion_utils.c::PyArray_ConvertMultiAxis.
Add additional testing
Merge pull request #5210 from ewmoore/norm_doc

MAINT: more informative error message from linalg.norm
BUG: copy inherited masks in MaskedArray.__array_finalize__

Previously, operations which created a new masked array from an old
masked array -- e.g., np.empty_like -- would tend to result in the new
and old arrays sharing the same .mask attribute. This leads to
horrible brokenness in which writes to one array affect the other. In
particular this was responsible for part of the brokenness that
@jenshnielsen reported in gh-5184 in which np.gradient on masked
arrays would modify the original array's mask.

This fixes the worst part of the issues addressed in gh-3404, though
there's still an argument that we ought to deprecate the mask-copying
behaviour entirely so that empty_like returns an array with an empty
mask. That can wait until we find someone who cares though.

I also applied a small speedup to np.gradient (avoiding one copy);
previously this inefficiency was masking (heh) some of the problems
with masked arrays, so removing it is both an optimization and makes
it easier to test that things are working now.
BUG: Use 'll' as the default length specifier for long long.

The previous default was 'L', which seems gcc specific, whereas
'll' is the now recognized standard and is also accepted by gcc.

Closes #5027.
Merge pull request #5203 from njsmith/master

BUG: copy inherited masks in MaskedArray.__array_finalize__
Merge pull request #5207 from juliantaylor/msvc-fix

MSVC fixes
Merge pull request #5212 from charris/fix-long-long-fmt

BUG: Use 'll' as the default length specifier for long long.
BUG: fix build error with MSVC 2013 caused by C99 complex support

closes gh-4896
Merge pull request #5204 from RobberPhex/master

fixed #4896 (fails to build with MSVC 2013)
BUG: Make PyArray_PutTo respect writeable flag.

Closes #4465.
TST: Add some tests for ndarray.put.
BUG: fix crash when using arange on datetime without dtype set
Merge pull request #5225 from juliantaylor/datetime-arange-crash

BUG: fix crash when using arange on datetime without dtype set
Merge pull request #5216 from charris/cleanup-gh-5132

BUG: Make PyArray_PutTo respect writeable flag.