PERF: single object optimization in concat
#### Code Sample, a copy-pastable example if possible

```python
import pandas as pd
import numpy as np


def make_test_df(length=6, width=4):
    dates = pd.date_range('20130101', periods=length)
    return pd.DataFrame(np.random.randn(length, width), index=dates, columns=list('ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789')[:width])

class Concat(object):

    def __init__(self, ls_dfs):
        self.ls_dfs = ls_dfs

    def __call__(self):
        return pd.concat(self.ls_dfs, axis=0)

class Optimisation(object):

    def __init__(self, ls_dfs):
        self.ls_dfs = ls_dfs

    def __call__(self):
        if len(self.ls_dfs) ==1 :
            return self.ls_dfs[0]
        else :
            return pd.concat(self.ls_dfs, axis=0)

if __name__ == "__main__":

    df = make_test_df(10000,20)
    print df.shape

    import timeit

    print timeit.timeit(Optimisation([df]), number=1000)
    print timeit.timeit(Concat([df]), number=1000)

```
#### Problem description

It appears that when pandas concat is passed a list with a single entry it does some complicated behaviour when it could just return the original data frame. In my time test for a 20*10000 dataframe the 
pd.concat method takes 2.46 seconds on each call in order to return a copy of the original dataframe. Note that above there is possibly a slight change in behavior since the code here does not copy although i believe that concat does in effect?

#### Expected Output
The output is correct, it just takes a long time

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

INSTALLED VERSIONS
------------------
commit: None
python: 2.7.11.final.0
python-bits: 64
OS: Windows
OS-release: 7
machine: AMD64
processor: Intel64 Family 6 Model 45 Stepping 7, GenuineIntel
byteorder: little
LC_ALL: None
LANG: None
LOCALE: None.None

pandas: 0.20.3
pytest: None
pip: 8.1.1
setuptools: 23.0.0
Cython: None
numpy: 1.13.3
scipy: 0.17.0
xarray: None
IPython: None
sphinx: 1.4.4
patsy: 0.4.1
dateutil: 2.5.2
pytz: 2016.3
blosc: None
bottleneck: 1.0.0
tables: None
numexpr: 2.5.2
feather: None
matplotlib: 1.5.1
openpyxl: 2.3.5
xlrd: 0.9.4
xlwt: None
xlsxwriter: 0.8.4
lxml: 3.6.0
bs4: 4.4.1
html5lib: 0.9999999
sqlalchemy: 1.0.13
pymysql: None
psycopg2: 2.6.1 (dt dec pq3 ext lo64)
jinja2: 2.8
s3fs: None
pandas_gbq: None
pandas_datareader: 0.5.0

[paste the output of ``pd.show_versions()`` here below this line]

</details>
