BUG: pd.concat with all Series on axis=1 ignores the `names` argument.
#### Code Sample, a copy-pastable example if possible

```python
# Example 1
s = pd.Series([1, 2, 3])
df = pd.concat([s, s], axis=1, keys=['a', 'b'], names=['Test'])
df.columns.names  # this gives back FrozenList([None]) instead of FrozenList(['Test'])
    
# Example 2
df = pd.concat([s, s], axis=1, keys=[('a', 1), ('b', 2)], names=['Test1', 'Test2'])
df.columns.names  # this gives back FrozenList([None, None]) instead of FrozenList(['Test1', 'Test2'])

```
#### Problem description

This is a problem because the API allows a user to provide a names argument with these input types and rather than throw an error or take the argument into consideration it is ignored. As far as I can tell, there is no reason for the names argument to be ignored, considering the keys are applied correctly, so I believe this was just an oversight in the `core.reshape.concat._Concatenator._get_concat_axis` method.

#### Proposed Solution

On line 503 of pandas/core/reshape/concat.py the following line:
`return ensure_index(self.keys)`
Should be replaced with something along these lines:

    new_axis = ensure_index(self.keys)
    new_axis.names = self.names
    return new_axis

This solution solves provides the desired output for both examples above and does not break any of the test_concat.py tests.


#### Output of ``pd.show_versions()``
pandas: 0.24.0.dev0
