BUG: Fix inconsistent ordering between left and right in merge
- [x] closes #35382
- [x] tests added / passed
- [x] passes `black pandas`
- [x] passes `git diff upstream/master -u -- "*.py" | flake8 --diff`
- [x] whatsnew entry

Passed sort through for right join too. Did not see a reason why not.

On a related note: I think outer joins return a inconsistent order too.

```
df = pd.DataFrame({'a': [1, 0, 1]})

print(df.merge(df, on='a', how='outer', sort=False))
   a
0  1
1  1
2  1
3  1
4  0
```

instead of
```
   a
0  1
1  1
2  0
3  1
4  1
```

like ``left`` and ``right`` now. Would have to add a ``sort`` keyword to outer join. Should I open an issue for that?

can you merge master and will look merged master Merged master too thanks @phofl very nice! this migtht close https://github.com/pandas-dev/pandas/issues/31951, https://github.com/pandas-dev/pandas/issues/22449, https://github.com/pandas-dev/pandas/issues/17257

if any of these, would take a test and we can close Thx

No they are not related. but #22449 can be closed probably, after we improved the Error Reporting here this should definitely fail as said by @TomAugspurger 