Improve documentation for piecewise_polynomial interpolation
Using piecewise_polynomial results in `ZeroDivisionError`. I assume there is something else that needs to be passed (not `order`) to make this work:

``` python
test = pd.DataFrame({'a':range(1000)})
test.ix[3] = np.nan
test.interpolate(method='piecewise_polynomial')
```

``` py-tb
ZeroDivisionError                         Traceback (most recent call last)
<ipython-input-51-ae8bbf1d5e8d> in <module>()
      1 test = pd.DataFrame({'a':range(1000)})
      2 test.ix[3] = np.nan
----> 3 test.interpolate(method='piecewise_polynomial')

/Users/alex/.virtualenvs/work/lib/python2.7/site-packages/pandas/core/generic.pyc in interpolate(self, method, axis, limit, inplace, downcast, **kwargs)
   2891                                           inplace=inplace,
   2892                                           downcast=downcast,
-> 2893                                           **kwargs)
   2894         if inplace:
   2895             if axis == 1:

/Users/alex/.virtualenvs/work/lib/python2.7/site-packages/pandas/core/internals.pyc in interpolate(self, **kwargs)
   2490 
   2491     def interpolate(self, **kwargs):
-> 2492         return self.apply('interpolate', **kwargs)
   2493 
   2494     def shift(self, **kwargs):

/Users/alex/.virtualenvs/work/lib/python2.7/site-packages/pandas/core/internals.pyc in apply(self, f, axes, filter, do_integrity_check, **kwargs)
   2457                                                  copy=align_copy)
   2458 
-> 2459             applied = getattr(b, f)(**kwargs)
   2460 
   2461             if isinstance(applied, list):

/Users/alex/.virtualenvs/work/lib/python2.7/site-packages/pandas/core/internals.pyc in interpolate(self, method, axis, index, values, inplace, limit, fill_value, coerce, downcast, **kwargs)
    770                                      inplace=inplace,
    771                                      downcast=downcast,
--> 772                                      **kwargs)
    773 
    774         raise ValueError("invalid method '{0}' to interpolate.".format(method))

/Users/alex/.virtualenvs/work/lib/python2.7/site-packages/pandas/core/internals.pyc in _interpolate(self, method, index, values, fill_value, axis, limit, inplace, downcast, **kwargs)
    836 
    837         # interp each column independently
--> 838         interp_values = np.apply_along_axis(func, axis, data)
    839 
    840         blocks = [make_block(interp_values,

/Users/alex/.virtualenvs/work/lib/python2.7/site-packages/numpy/lib/shape_base.pyc in apply_along_axis(func1d, axis, arr, *args, **kwargs)
     89     outshape = asarray(arr.shape).take(indlist)
     90     i.put(indlist, ind)
---> 91     res = func1d(arr[tuple(i.tolist())], *args, **kwargs)
     92     #  if res is a number, then we have a smaller output array
     93     if isscalar(res):

/Users/alex/.virtualenvs/work/lib/python2.7/site-packages/pandas/core/internals.pyc in func(x)
    833             return com.interpolate_1d(index, x, method=method, limit=limit,
    834                                       fill_value=fill_value,
--> 835                                       bounds_error=False, **kwargs)
    836 
    837         # interp each column independently

/Users/alex/.virtualenvs/work/lib/python2.7/site-packages/pandas/core/common.pyc in interpolate_1d(xvalues, yvalues, method, limit, fill_value, bounds_error, order)
   1687         result[firstIndex:][invalid] = _interpolate_scipy_wrapper(
   1688             valid_x, valid_y, new_x, method=method, fill_value=fill_value,
-> 1689             bounds_error=bounds_error, order=order)
   1690         if limit:
   1691             result[violate_limit] = np.nan

/Users/alex/.virtualenvs/work/lib/python2.7/site-packages/pandas/core/common.pyc in _interpolate_scipy_wrapper(x, y, new_x, method, fill_value, bounds_error, order)
   1747             new_x = new_x.copy()
   1748         method = alt_methods[method]
-> 1749         new_y = method(x, y, new_x)
   1750     return new_y
   1751 

/Users/alex/.virtualenvs/work/lib/python2.7/site-packages/scipy/interpolate/polyint.pyc in piecewise_polynomial_interpolate(xi, yi, x, orders, der, axis)
    925     """
    926 
--> 927     P = PiecewisePolynomial(xi, yi, orders, axis=axis)
    928     if der == 0:
    929         return P(x)

/Users/alex/.virtualenvs/work/lib/python2.7/site-packages/scipy/interpolate/polyint.pyc in __init__(self, xi, yi, orders, direction, axis)
    727 
    728         yi0 = np.asarray(yi[slice0])
--> 729         self._set_yi(yi0)
    730 
    731         self.xi = [xi[0]]

/Users/alex/.virtualenvs/work/lib/python2.7/site-packages/scipy/interpolate/polyint.pyc in _set_yi(self, yi, xi, axis)
    129                              "interpolation axis.")
    130 
--> 131         self._y_axis = (axis % yi.ndim)
    132         self._y_extra_shape = yi.shape[:self._y_axis]+yi.shape[self._y_axis+1:]
    133         self.dtype = None

ZeroDivisionError: integer division or modulo by zero
```
