TST: add tests for roll function
FIX: roll raises a ValueError is axis > ndim
FIX: handle empty arrays in roll
First attempt at BF for 2028 and added better tests for scalarmath pow function
fixed some style problems
DOC: Used regex to find colons missing spaces which render wrong online, also other spacing or formatting mistakes
STY: drop some else clauses in roll
DOC: Used regex to find colons missing spaces which render wrong online, also other spacing or formatting mistakes
DOC: regex-assisted fixes of definition list formatting
merge conflict
2to3: Use absolute imports.

The new import `absolute_import` is added the `from __future__ import`
statement and The 2to3 `import` fixer is run to make the imports
compatible. There are several things that need to be dealt with to make
this work.

1) Files meant to be run as scripts run in a different environment than
files imported as part of a package, and so changes to those files need
to be skipped. The affected script files are:

    * all setup.py files
    * numpy/core/code_generators/generate_umath.py
    * numpy/core/code_generators/generate_numpy_api.py
    * numpy/core/code_generators/generate_ufunc_api.py

2) Some imported modules are not available as they are created during
the build process and consequently 2to3 is unable to handle them
correctly. Files that import those modules need a bit of extra work.
The affected files are:

    * core/__init__.py,
    * core/numeric.py,
    * core/_internal.py,
    * core/arrayprint.py,
    * core/fromnumeric.py,
    * numpy/__init__.py,
    * lib/npyio.py,
    * lib/function_base.py,
    * fft/fftpack.py,
    * random/__init__.py

Closes #3172
2to3: Add `from __future__ import ...` to new files.

The new files that came in when doc/sphinxext/numpydoc was restructured
as a package with test stubs did not have `from __future__ import ...`.
This fixes that omission.
2to3: Add `from __future__ import ...` to some files that were missed.

With the exception of numpy/distutils/tests/test_exec_command.py, all
of these files are script files in tools/osxbuild and tools/win32build.
The import in the  script files omits `absolute_import` as they are
not part of a package.
BLD: Add NPY_RELAXED_STRIDES_CHECKING flag

This flag will toggle to a new definition for the contiguous flags
where only the memory layout is forced to be correct. As a particular
example this means that np.ones((3,1)) can be both C and F-Contiguous
and its stride[-1] can be arbitrary but the array still contiguous.

The flag will also make most new arrays be created with MAX_INTP as
stride so that unsafe usage of the stride will surface more commonly.
ENH: Relax aligned flag for shape[i] <= 1

In this case, either the dimensions stride will never be used to
access an element, so that it does not matter to the data alignment,
or the array has a size of 0 and is thus never unaligned.

Relaxed align flag is only active if NPY_RELAXED_STRIDES_CHECKING
was set during compile time.
API: Implement new flags API with NPY_RELAXED_STRIDES_CHECKING

This largly reverts the changes to the flags setting api making the
newer preferable unsafe flags setting available through the
NPY_RELAXED_STRIDES_CHECKING eviroment variable. This variable is meant
for testing if code will stop working when the flags definition is changed.

The old definition is modified in some details to previously to enforce
safer strides (which was not the case before). This means that ndim==1
size==1 arrays are not necessarily considered contiguous. Also empty
arrays are not considered contiguous in some cases that were contiguous
before, and the rule that an array can only be both C and F-contiguous
if it is one (or zero) dimensional is relaxed, as it is incorrect for
size <= 1 arrays.
Allow threads for FFT calculations

This patch adds lines to release the Global Interpreter Lock
while calculating an FFT with fftpack.
Merge pull request #273 from dlax/fix/roll

somes fixes for the roll function
BUG: Raise immediate error in ctypes.load_library when library is bad.

This is a fixup of PR #475 due to JeromeRoy. The problem addressed is
that when multiple errors were encountered attempting to import a
library file, only the last one was preserved. The proposed fix is to
raise an error immediately when a file of the correct name fails to
import, and raise a later error if no file is found but no errors are
raised in the search.

Closes #474, #475.
Update scalarmathmodule.c.src

Got rid of some white space in scalarmathmodule.c.src