ENH: Efficient interpolation on regular grids in arbitrary dimensions
ENH: add fill_value and bounds_error to RegularGridInterpolator
TST: test for equivalence of RegularGridInterpolator and qhull-based ND-interpolators
ENH: add new convenience method scipy.interpolate.interpn
use old-style string formatting to support python 2.6
ENH: support fill_value and bounds_error in interpn
STY: rename kwarg 'kind' to 'method'
ENH: interpolate: uniform xi input arg handling for griddata and interpn
TST: interpolate: add tests for interpn with 1-D xi and xi broadcasting
ENH: interpolate: allow nonscalar-valued values in RegularGridInterpolator
TST: interpolate: reduce code duplication in regulargridinterpolator tests
BUG: interpolate: fix up and test passing in lists to interpn/RegularGridInterpolator
TST: interpolate: test that complex-valued data is handled by rectangulargridinterpolator + interpn
DOC: interpolate: document interpn/RegularGridInterpolator return values
ENH: interpolate: restore duck-typed array_like support in RegularGridInterpolator
Merge pull request #3323 from pr-3323

ENH: interpolate: add interpn and RegularGridInterpolator

Implemented a new class RegularGridInterpolator for efficient linear and
nearest-neighbour interpolation on regular (possibly unevenly spaced)
grids in arbitrary dimensions.

The existing ND-interpolators perform a triangulation of the input
points with becomes unfeasible with medium (~8) dimensions.  There, by
taking advantage of the regular grid structure, the interpolation can be
sped up quite a bit.

Another advantage of this class is that it accepts anthing that can be
appropriately indexed as values parameter, meaning that it is possible
to use this interpolation object for interpolation of disk-based data
sets (netCDF, pytables, ...).

This PR also adds a simpler function `interpn` for regular grid data
interpolation.