Let MultiIndex accept a list-like as input
In #22511 and #23752 I work on some changes to ``MultiIndex``. It came up in discussion that the consteuction of MultiIndex shold be changed, so that initialising with a list of tuples should be accepted:

```python
>>>pd.MultiIndex([('a', 1)
...               ('b', 2)])
MultiIndex([('a', 1)
            ('b', 2)])
```

I'm also thinking that MultiIndex could accept dicts when initialising, and it would work similarly, except the dict keys would become the values for ``MultiIndex.names``, and the dict values would be level values for the MultiIndex.
