first_valid_index for all NaN DataFrame
Similar to [this one](https://github.com/pydata/pandas/issues/9752), but on a non-empty DataFrame whose values are all NaN.

This raises an error, instead of returning None

``` python
pd.Series([np.nan]).first_valid_index() # this returns None
pd.DataFrame([np.nan]).first_valid_index() # raise error

>>> pd.__version__
u'0.18.1'
```
