ENH: Set index to Series.name returned from DataFrame.apply's callback
#### Is your feature request related to a problem?

Function passed to `DataFrame.apply` with `axis=1` receives `Series` with the `name` corresponding to the row's index. Unfortunately, this doesn't work the other way around - returning a `Series` from the applied function does not change the row's index in dataframe to `Series`'s name. 

#### Describe the solution you'd like

If returned `Series` has a name, set it as a row's or column's index, depending on `axis` (similarly as it works with 'index', but on the other axis).

#### API breaking implications

This changes established behavior, but  I assume people don't specify name if they don't have to. And if someone would return the `Series` given in parameter, this wouldn't change indices, as they would be simply the same.

#### Describe alternatives you've considered

I haven't found any other mean of setting the index in `apply`, which an option would be very useful to me.

#### Additional context
Example:
```python
>>> df = pd.DataFrame([[1,2],[3,4],[5,6]], columns=['A', 'B']) 
>>> df                                                               
   A  B
0  1  2
1  3  4
2  5  6
>>> df.apply(lambda row: pd.Series(row, name=row.A+row.B), axis=1)
    A  B
3   1  2
7   3  4
11  5  6
```
