BUG: nditer: Memory leak from setting 'base' attribute two ways

Numpy uses its 'base' attribute in two different ways, both
to manage the memory of an external data buffer, and to track
an array for 'UPDATEIFCOPY' purposes. The nditer was creating
a temporary view with negative strides to match the strides of
input arrays, but then also wanted to use UPDATEIFCOPY. Unfortunately
this choice to overload 'base' for both purposes prevents that
from working, and the result was a memory leak.

This bug has been fixed by choosing instead to retain positive
strides and not fully match the order of input memory when
doing the UPDATEIFCOPY.
Merge pull request #278 from mwiebe/NA_buffer_errorcheck

BUG: maskna: PEP3118 code wasn't raising an error on NA-masked arrays
Merge pull request #268 from FrancescAlted/master

The docs should stress that functions that create arrays actually steals a reference to dtype descriptor
TST: ticket #1878, test argmin with minimum signed integers.

The bug in ticket #1878 has been fixed in 1.7 but it still needs a test.
Thanks to tlatorre.
TST: Fix memoryview 2.6/2.7 compatibiliy in maskna pep3118 test
Merge branch 'master' into clean-up-diagonal
Un-KNOWNFAIL the nditer test after merging Mark's fix from master
Fix a C90 compatibility error
Add a missing guard for Python versions <2.6
TST: mark test for floating point exceptions as knownfail.  See #1755.

Note that this test was marked as knownfail in 1.5.x and 1.6.x; it is reported
as failing on many different platforms.
Merge pull request #283 from rgommers/ticket-1755-knownfail

TST: mark test for floating point exceptions as knownfail.  See #1755.
MAINT: port release notes and release script changes from 1.6.x.
BUG: Changed ipmt to accept array_like arguments.

The ipmt function was also fixed to handle broadcasting. The tests
were improved and extended to cover the broadcasting capability.
Fix numpy.distutils to find atlas BLAS on Ubuntu

As per discussion here:
  http://mail.scipy.org/pipermail/numpy-discussion/2012-May/062363.html
numpy.distutils was failing to find BLAS on my Ubuntu 11.04 system.

The problem is that _check_libs looks for libraries in several
directories, and it turns out that the "atlas" library was found in
both /usr/lib64/atlas-base *and* in /usr/lib64, which confused
_check_libs into thinking that it couldn't be found at all.

With this fix, scipy now builds against numpy master for me.
Clean up PyArray_Diagonal changes based on Chuck's feedback

- NPY_ARRAY_WARN_ON_WRITE flag definition is protected by #ifdef
  _MULTIARRAYMODULE, to make totally sure that we can recycle the flag
  bit later.
- Improve docs for PyArray_SetUpdateIfCopyBase.
- Make the deprecation warning for writes to the diagonal array
  somewhat more terse.
- Use DEPRECATE macro instead of calling PyErr_Warn/PyErr_WarnEx
  directly.
- Comment formatting fixed.
Don't assume ctypes is available, it's not true on Python 2.4
Fix diagonal-related warnings and tests on Python 3
Add a little command-line tool for running tests, plus tox support

Tox is a handy little tool to make it easier than not to run proper
tests that exercise the build system and are run against multiple
Python versions: http://pypi.python.org/pypi/tox
See comment at the top of tox.ini for hints.
ENH: Explicit import of modules into the space in core/__init__.py

Otherwise there is no strict guarantee that they would be available
later on during population of __all__.

This issue was ran into while opening a python file in emacs with python-mode
and ropemacs:

Loading pymacs...done
Pymacs loading ropemacs...
File mode specification error: (error "Python: Traceback (most recent call last):
  File \"/usr/lib/python2.7/dist-packages/Pymacs/pymacs.py\", line 146, in loop
    value = eval(text)
  File \"<string>\", line 1, in <module>
  File \"/usr/lib/python2.7/dist-packages/Pymacs/pymacs.py\", line 246, in pymacs_load_helper
    object = __import__(module_name)
  File \"/usr/lib/python2.7/dist-packages/ropemacs/__init__.py\", line 4, in <module>
    import ropemode.interface
  File \"/usr/lib/python2.7/dist-packages/ropemode/interface.py\", line 3, in <module>
    import rope.base.change
  File \"/usr/lib/python2.7/dist-packages/rope/base/change.py\", line 2, in <module>
    import difflib
  File \"/usr/lib/python2.7/difflib.py\", line 36, in <module>
    from collections import namedtuple as _namedtuple
  File \"collections.py\", line 16, in <module>
    import numpy as np
  File \"/usr/lib/pymodules/python2.7/numpy/__init__.py\", line 137, in <module>
    import add_newdocs
  File \"/usr/lib/pymodules/python2.7/numpy/add_newdocs.py\", line 9, in <module>
    from numpy.lib import add_newdoc
  File \"/usr/lib/pymodules/python2.7/numpy/lib/__init__.py\", line 4, in <module>
    from type_check import *
  File \"/usr/lib/pymodules/python2.7/numpy/lib/type_check.py\", line 8, in <module>
    import numpy.core.numeric as _nx
  File \"/usr/lib/pymodules/python2.7/numpy/core/__init__.py\", line 30, in <module>
    __all__ += numeric.__all__
NameError: name numeric is not defined
")
Move internal NPY_ARRAY_WARN_ON_WRITE flag into an internal header.