BUG: pandas.DataFrame().stack() raise an error, while expected is empty
- [X] I have checked that this issue has not already been reported.

- [X] I have confirmed this bug exists on the latest version of pandas.

- [ ] (optional) I have confirmed this bug exists on the master branch of pandas.

---

#### Code Sample, a copy-pastable example

```python
pandas.DataFrame().stack()
pandas.DataFrame().stack(dropna = True)
```

#### Problem description

I expect that stack() of empty dataframe will be empty dataframe and not an exception