masking empty DataFrame
In pandas 0.16.1, I get a ValueError when trying to mask an empty DataFrame:

``` python
>>> import pandas as pd
>>> df = pd.DataFrame()
>>> df[df>0]
Traceback (most recent call last):

  File "<ipython-input-3-efe84c9ebabc>", line 1, in <module>
    df[df>0]

  File "C:\Python27\lib\site-packages\pandas\core\frame.py", line 1787, in __getitem__
    return self._getitem_frame(key)

  File "C:\Python27\lib\site-packages\pandas\core\frame.py", line 1859, in _getitem_frame
    raise ValueError('Must pass DataFrame with boolean values only')

ValueError: Must pass DataFrame with boolean values only
```

Using 'where' works as expected:

``` python
>>> df.where(df>0)
Out[4]: 
Empty DataFrame
Columns: []
Index: []
```

Also, masking a Series works as expected:

``` python
>>> ts = pd.Series()
>>> ts[ts>0]
Out[6]: Series([], dtype: float64)
```
