Inconsistent concat behavior when changing axis
#### Code Sample

```python
>>> import pandas as pd
>>> pd.__version__
'0.23.4'
>>> z = pd.Series([1, 2, 3])
>>> z
0    1
1    2
2    3
dtype: int64
>>> pd.concat([z], axis=0)
0    1
1    2
2    3
dtype: int64
>>> pd.concat([z], axis=1)
   0
0  1
1  2
2  3
>>> pd.concat([z, z], axis=0)
0    1
1    2
2    3
0    1
1    2
2    3
dtype: int64
```

#### Problem description

concat returns different types depending on axis, even though no operation should be performed. At the very least, this should be documented.

Probably solvable by short-circuiting when there's a single element passed, but might be a more serious issue. Did not look at the pandas source at this time. It makes sense to return (1, n) shapes as DataFrames, and (n, 1) shapes as well, but not (n, ) shapes. After all, pd.concat([z, z], axis=0) returns a series!

Could not find similar issue by searching "concat axis single series turns into dataframe" and various substrings.

#### Expected Output

Same behavior:

```python
>>> pd.concat([z], axis=0)
0    1
1    2
2    3
dtype: int64
>>> pd.concat([z], axis=1)
0    1
1    2
2    3
dtype: int64
```

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

<details>

INSTALLED VERSIONS
------------------
commit: None
python: 3.6.6.final.0
python-bits: 64
OS: Windows
OS-release: 10
machine: AMD64
processor: Intel64 Family 6 Model 94 Stepping 3, GenuineIntel
byteorder: little
LC_ALL: None
LANG: en_US.UTF-8
LOCALE: None.None

pandas: 0.23.4
pytest: None
pip: 10.0.1
setuptools: 40.0.0
Cython: None
numpy: 1.15.0
scipy: 1.1.0
pyarrow: None
xarray: None
IPython: None
sphinx: 1.7.6
patsy: 0.5.0
dateutil: 2.7.3
pytz: 2018.5
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: 2.10
s3fs: None
fastparquet: None
pandas_gbq: None
pandas_datareader: None

</details>
