2to3:DEP: Remove interactive setup and gnu compiler configuration.

These havn't been deprecated, but I think few have heard of them, much
less used them. Before this change, running setup.py without any
arguments would result in interactive help. This patch removes that
interactive help and lets setup print its usual list of commands and
options.

All the script uses of the numpy/distutils/fcompiler compilers look
quite broken to me, but I have tried to maintain compatibility with the
earlier version of gnu.py after the removal of `raw_input`.

These removals solve an incompatibility between Python3 and Python2.
The current interactive setup help uses `raw_input`, which has been
removed in python3 and replaced by `input`.  However, python2 already
has an `input` that has different semantics.  Rather than deal with
this, I think it simpler to keep both `raw_input` and `input` out of
numpy.

Closes #3063
Closes #3079
Merge pull request #3120 from charris/2to3-remove-raw_input

2to3:DEP: Remove interactive setup and gnu compiler configuration.
2to3: Remove xreadlines and replace f.readlines() by f where valid.

An open file `f` has been an iterator since python2.3 and
`f.xreadlines()` is no longer needed, so replace it with `f`. Also
replace `f.readlines()` with `f` where an iterator will do. The
replacement of `f.readlines()` is not critical because it is a list in
both python2 and python3, but the code is a bit cleaner.

Closes #3093
Merge pull request #3121 from charris/2to3-fix-for-in-f_dot_readlines

2to3: Remove xreadlines and replace f.readlines() by f where valid.
DOC: Fix typo in fft docs (the indexing variable is 'm', not 'n').
Merge pull request #3123 from maxalbert/master

Typo fix in FFT docs
DOC: Add mention of PyArray_SetBaseObject stealing a reference
Merge pull request #3130 from mwiebe/setbaseobj_doc

DOC: Add mention of PyArray_SetBaseObject stealing a reference
Add support for structured array ufuncs

- Add New api method PyUFunc_RegisterLoopForStructType for creating new ufunc for structured array
- Add arg_dtypes array to PyUFunc_Loop1d object. This keeps track of each struct dtype that the ufunc can handle.
- Add arg_dtypes parameter to ufunc_loop_matches function so that struct dtypes can be compared for NPY_VOID type num
Add comments for new RegisterLoopForStructType API method
Fix build error