ENH: interpolate/polyint: allow polyint evaluation on arbitrary shape arrays
ENH: interpolate/polyint: make the polynomial interpolators able to deal with arbitrary-shape y data arrays
TST: interpolate/polyint: add tests for y-shape
BUG: interpolate/polyint: deal with complex-valued arrays
ENH: interpolate/polyint: refactor interpolation axis support in polyint

Support dealing with the interpolation axis using the same mechanism in
all of the interpolators.
MAINT: interpolate/polyint: rename Pchip -> PchipInterpolator
BUG: interpolate/polyint: fix divisions by zero in pchip
STY: interpolate/polyint: make the code a bit more readable
ENH: interpolate/polyint: make the derivative axis be always first in the derivatives() methods
DOC: interpolate: update the polyint documentation to match the implementation vs. axis and shapes
STY: interpolate/polyint: rename InterpolatorBase -> _Interpolator1D
added norm examples to linalg.rst docs
better comments to example, use np.array instead of matrix
converted linalg.rst to use mat except for schur factorization, explained numpy.linalg vs scipi.alg, examplained numpy.ndarray vs numpy.matrix
ENH: stats.scoreatpercentile

stats.scoreatpercentile now accepts sequences of percentiles and axis
parameter. Function adapted from NumPy's percentile function.
DOC: document that support for Python 2.4 and 2.5 has been dropped for 0.12.x
MAINT: in integrate.ode, generate understandable error for f2py issue.

Closes ticket 1187.  Note that this cannot be tested without a warning message
being printed by vodemodule.c, even when redirecting stderr::

    import sys
    from scipy import integrate

    class RedirectStdStreams(object):
        def __init__(self, stdout=None, stderr=None):
            self._stdout = stdout or sys.stdout
            self._stderr = stderr or sys.stderr

        def __enter__(self):
            self.old_stdout, self.old_stderr = sys.stdout, sys.stderr
            self.old_stdout.flush(); self.old_stderr.flush()
            sys.stdout, sys.stderr = self._stdout, self._stderr

        def __exit__(self, exc_type, exc_value, traceback):
            self._stdout.flush(); self._stderr.flush()
            sys.stdout = self.old_stdout

    y0, t0 = [1.0j, 2.0], 0
    def f(t, y, arg1):
        return (1j*arg1*y[0] + y[1], -arg1*y[1]**2)

    def jac(t, y, arg1):
        return [[1j*arg1, 1], [0, -arg1*2*y[1]]]

    with RedirectStdStreams():
        r = integrate.ode(f, jac).set_integrator('zvode', method='bdf', with_jacobian=True)
        r.set_initial_value(y0, t0).set_f_params(2.0).set_jac_params(2.0)
        t1 = 10
        dt = 1
        while r.successful() and r.t < t1:
            r.integrate(r.t+dt)
MAINT: Automated 2to3 conversion of the code base
BLD: Remove 2to3 conversion step from the build
ENH: lib: bundle six Python 2/3 compatibility module