Expanded `df.apply` returns empty `DataFrame` if `df` has no columns
#### Code Sample, a copy-pastable example if possible

```python
>>> import pandas as pd
>>> df = pd.DataFrame([[],[],[]])
>>> df.apply(lambda x: [1, 2, 3], axis=1, result_type='expand')
Empty DataFrame
Columns: []
Index: [0, 1, 2]
```
#### Problem description

Applying with a function that doesn't depend on the columns of the input should always give the same output.

#### Expected Output

```
>>> df.apply(lambda x: [1, 2, 3], axis=1, result_type='expand')
   0  1  2
0  1  2  3
1  1  2  3
2  1  2  3
```

#### Output of ``pd.show_versions()``

<details>

```
INSTALLED VERSIONS
------------------
commit: None
python: 3.6.2.final.0
python-bits: 32
OS: Windows
OS-release: 10
machine: AMD64
processor: Intel64 Family 6 Model 158 Stepping 9, GenuineIntel
byteorder: little
LC_ALL: None
LANG: None
LOCALE: None.None

pandas: 0.23.3
pytest: None
pip: 18.0
setuptools: 28.8.0
Cython: None
numpy: 1.14.5
scipy: 1.1.0
pyarrow: None
xarray: None
IPython: None
sphinx: None
patsy: None
dateutil: 2.7.3
pytz: 2018.4
blosc: None
bottleneck: None
tables: None
numexpr: None
feather: None
matplotlib: None
openpyxl: None
xlrd: None
xlwt: None
xlsxwriter: None
lxml: None
bs4: None
html5lib: None
sqlalchemy: None
pymysql: None
psycopg2: None
jinja2: None
s3fs: None
fastparquet: None
pandas_gbq: None
pandas_datareader: None
```

</details>

#### Workaround

For anyone else experiencing this issue, the following can be used as a temporary workaround:

```
>>> from pandas.core.apply import frame_apply
>>> frame_apply(df, lambda x: [1, 2, 3], axis=1, result_type='expand').apply_standard()
   0  1  2
0  1  2  3
1  1  2  3
2  1  2  3
```