Merge pull request #3313 from ecatmur/master

BUG: fix potentially infinite recursion in VOID_nonzero. Fixes #3312.
ENH: add possibility to add define_macros to extensions
MAINT: mask npy_config.h include with HAVE_NPY_CONFIG_H
MAINT: document intrinsic macro guards
MAINT: document why OPTIONAL_INTRINSICS needs arguments
BUG: testing: always enable --exe

Setuptools tends to set +x to the installed test scripts, which makes
numpy.test() to not run any tests. Having --exe always enabled is not
problematic because only files matching 'test_*.py' are looked into.
Merge pull request #3318 from pv/test-exe

BUG: testing: always enable --exe
Whitespace changes
Add null check after allocating op_flags
Remove unneeded blank line
Fix issue with broadcast_arrays() and user defined dtypes

broadcast_arrays() does not handle struct and custom dtypes correctly. Dtype of returned broadcasted arrays is always '|V8'. Fix broadcast_arrays() so that dtype of returned arrays is correct dtype for user defined dtypes.
Add test
Fix array_equal and array_equiv issue

array_equal() and array_equiv() don't work for string arrays and record arrays. This is because those methods use numpy.equals ufunc for comparison, and there are no equal ufuncs registered for strings and record arrays. Replace numpy.equals with '==' array operation, which handles strings and record arrays.
Merge pull request #359 from jayvius/operand-flags

Allow ufunc operand flags to be set
Make comparison function (gt, ge, ...) respect __array_priority__.
MAINT: Remove unnecessary 0-d special case.

This special case was made unnecessary by changes to the nditer.
Merge pull request #3323 from ContinuumIO/broadcast_arrays_fix

Broadcast arrays fix
Merge pull request #3325 from seberg/remove-gh-356-special-case

MAINT: Remove unnecessary 0-d special case.
Merge pull request #3316 from seberg/issue-3314

BUG: Fix 0-d array special case from reductions.
ENH: Add a runtests.py script for running the test suite

The script builds Numpy and runs the test suite of the built version.
This is useful for development.