API: allow interpolating backwards at start of series without limit
By default, interpolate only works in forward direction

``` python
In [1]: import numpy as np
   ...: import pandas as pd
   ...: ser = pd.Series([np.nan, np.nan, 5, np.nan, np.nan, 13, np.nan, np.nan])
In [2]: ser.interpolate()
Out[2]: 
0          NaN
1          NaN
2     5.000000
3     7.666667
4    10.333333
5    13.000000
6    13.000000
7    13.000000
dtype: float64
```

In order to interpolate backwards at the start of the series, the only option one currently has is to provide a limit value:

``` python
In [3]: ser.interpolate(limit_direction='both', limit=1000)
Out[3]: 
0     5.000000
1     5.000000
2     5.000000
3     7.666667
4    10.333333
5    13.000000
6    13.000000
7    13.000000
dtype: float64
```

Actually, once the limit is set, the argument limit_direction does not only apply to the limit, but also to the direction of the interpolation itself at start and end of the series:

``` python
In [4]: ser.interpolate(limit_direction='backward', limit=1000)
Out[4]: 
0     5.000000
1     5.000000
2     5.000000
3     7.666667
4    10.333333
5    13.000000
6          NaN
7          NaN
dtype: float64
```

Thus, a logic API change seems to replace the argument 'limit_direction' by 'direction', and extending its use to the cases where limit is None (which here corresponds to infinity). Then one would be able to do:

``` python
In [5]: ser.interpolate(direction='both')
Out[5]: 
0     5.000000
1     5.000000
2     5.000000
3     7.666667
4    10.333333
5    13.000000
6    13.000000
7    13.000000
dtype: float64
```
