ENH: optimize STRING_compare by using memcmp
STY: minor PEP8 fixups for numpy/fft.
STY: PEP8 fixups for numpy/random.
BUG: Fix None comparison giving FutureWarning in choice function.

This is in numpy/random/mtrand/mtrand.pyx where the choice function
was using comparisons of the form `None != p`.
BUG: Fix bugs in unused code paths.

The `getargspec` needed to import the disassembler to support parsing
tuple arguments. Since numpy never uses those, the corresponding code
is deleted and an TypeError raised if such arguments are encountered.

Also fix the unused formatargs function so it does not require the
string module.
STY: Minor PEP8 fixes.
Correct the fill_diagonal examples
Merge pull request #4981 from hpaulj/fill_diagonal

Correct the fill_diagonal examples
BUG: Fix NaN handling in npy_ObjectMax and npy_ObjectMin.

These functions currently fail randomly for Python < 3.x because they
use PyObject_Cmp, which looks at addresses for NaN objects. The fix is
to use PyObject_RichCompareBool, which is available in Python >= 2.6.
Note that for Python 2.6 and 2.7, PyObject_RichCompareBool falls back on
PyObject_Cmp when an object doesn't provide rich compare.

Closes #4903.
TST: Add tests for maximum/minimum of object arrays with nan.

There is a random element to these tests, so that they may fail to
fail when python compare is being used instead of richcompare.
Merge pull request #4941 from charris/fix-numpy-compat-_inspect

Fix numpy compat  _inspect
Merge pull request #4982 from charris/gh-2941

Fixup of PR #4921
Merge pull request #4936 from charris/pep8-numpy-fft

STY: minor PEP8 fixups for numpy/fft.
Merge pull request #4937 from charris/pep8-numpy-random

Pep8 numpy random
BLD: add debug information to gfortran builds

Similar to C builds which always have debug info.
Merge pull request #4988 from juliantaylor/gfortran-debug

BLD: add debug information to gfortran builds
BUG: don't overwrite input percentile arrays
Merge pull request #4989 from juliantaylor/percentile-fix

BUG: don't overwrite input percentile arrays
BUG: set needs-init flag for unicode dtype

Python >= 3.3 does not like printing garbage unicode so printing
np.empty(x, 'U') can throw UnicodeDecode errors.
It is probably easier to just require initializing the dtype as a whole
instead of trying to catching the decode error on all places where it
might occur. Hopefully 0 is a valid code in all codecs.
Closes gh-4994.
BLD: support rpath for GNU Fortran compiler.