ENH: interpolate: make c and x public attributes in PPoly
ENH: interpolate: add PPoly root finding
DOC: interpolate: add a warning about the power basis
BUG: interpolate: fix bug in returning object arrays from PPoly.roots + add another roots test
ENH: interpolate: add PPoly.extend that appends new intervals
ENH: interpolate: add __slots__ and a fast constructor to PPoly

Also add a sorting check to the constructor.  The fast constructor is roughly
20x faster than the default one:

In [1]: import numpy as np
In [2]: c = np.array([[1, 4], [2, 5], [3, 6]])
In [3]: x = np.array([0, 0.5, 1])
In [4]: from scipy.interpolate import PPoly
In [5]: %timeit PPoly(c, x)
10000 loops, best of 3: 20 us per loop
In [6]: %timeit PPoly.construct_fast(c, x)
1000000 loops, best of 3: 1.26 us per loop
TST: interpolate: test extending PPoly with different orders
ENH: interpolate: special case low-order roots in PPoly + add a test
DEP: interpolate: deprecate ppform
MAINT: make _ppoly.pyx work also on older Cython versions
ENH: allow a callable for a fill_value
ENH: avoid type error in evaluate with integer arguments
ENH: two fill values/functions, above and below range