BUG: merge_ordered fails with list-like left_by or right_by
- [x] closes #35269
- [x] tests added / passed
- [ ] passes `black pandas`
- [ ] passes `git diff upstream/master -u -- "*.py" | flake8 --diff`
- [x] whatsnew entry

Hello @GYHHAHA! Thanks for updating this PR. We checked the lines you've touched for [PEP 8](https://www.python.org/dev/peps/pep-0008) issues, and found:





There are currently no PEP 8 issues detected in this Pull Request. Cheers! :beers: 

##### Comment last updated at 2020-11-29 09:11:53 UTC There also exists two parts should be fixed.
```python
>>>l = pd.DataFrame([['g', 'h', 1], ['g', 'h', 3]], columns=list('GHT'))
>>>l
   G  H  T
0  g  h  1
1  g  h  3
>>>r = pd.DataFrame([[2, 1]], columns=list('TE'))
>>>r
   T  E
0  2  1
```
First, the following unexpected left join is related to wrongly `groupby` .
```python
>>>pd.merge_ordered(l, r, on='T', left_by=['G'])
```
|    | G   | H   |   T |   E |
|---:|:----|:----|----:|----:|
|  0 | g   | h   |   1 | nan |
|  1 | g   | h   |   3 | nan |

Second, unexpected result appears when unseen label exists in `left_by` . (also caused by `try ... groupby` part)
```python
>>>pd.merge_ordered(l, r, on='T', left_by=['G', 'h'])
```
|    | G   | H   |   T |   E | h   |
|---:|:----|:----|----:|----:|:----|
|  0 | G   | h   |   1 | nan | G   |
|  1 | G   | nan |   2 |   1 | G   |
|  2 | h   | nan |   2 |   1 | h   |
|  3 | h   | h   |   3 | nan | h   |

Since they are different bugs from the current list-like issue, thus I will make another PR for the above-mentioned two after this merged.
 failures from `test_arithmetic`, unrelated? @jreback  thanks @GYHHAHA very nice!