ENH: Add suffixes argument for pd.concat
- [x] closes #21791, xref #29615 
- [x] tests added / passed
- [x] passes `black pandas`
- [x] passes `git diff upstream/master -u -- "*.py" | flake8 --diff`
- [x] whatsnew entry

Thanks for the PR @charlesdong1991 ! Left a few comment above thanks for your comment, @jreback 

I initially opened an issue #29615 for this, and later found you opened the issue already long ago. The usecase I am having right now is I have several tables with exactly same format, but they have different values in each field since let's say they are representing the data from different years, e.g

```
df1 = pd.DataFrame({"a": [1, 2, 3], "b": [2, 3, 4]})
df2 = pd.DataFrame({"a": [2, 3, 4], "b": [3, 4, 5]})
df3 = pd.DataFrame({"a": [4, 5, 6], "b": [6, 7, 8]})
```

And I would like to put them together horizontally so as to do further analysis. The easiest way in this case would be `pd.concat([df1, df2, df3], axis=1)`, but after concatenation, the dataframe contains duplicated column names, and it would be very useful and convenient to have a `suffixes` argument to distinguish those as `merge` has. And this is my initial motivation to create this PR.

 Been thinking this over and while this is a nice effort I think I am -1 on adding this to the concat API. It feels intuitive for merge where you are essentially taking a union of columns, but with pd.concat you are just stacking things. 

Seems like if anything this de-duplication would really be a Index method (though not sure that’s worth adding to the API either) Many thanks for taking your time and giving me very nice reviews @jschendel and I appreciate a lot!

However, since I see @WillAyd and @jreback have concerns if this feature should be added to `pd.concat` or not, and i agree that the change is mainly doing a de-duplication on column Index by adding a suffix since `pd.concat` is just stacking. The only small benefit of having this feature might be if having many tables with identical names, stacking them together while renaming with suffix can be easier.

I am open to advices on the opinions on if it's worth to have this enhancement, if it is, I will start code changes based on @jschendel 's nice reviews. Thanks for the contribution @charlesdong1991 but based on feedback I don't think we have an appetite for this one