MultiIndex.from_tuples returns an Index when all tuples are length 1
```python
In [1]: import pandas as pd
In [2]: pd.MultiIndex.from_tuples([('a',), ('b',)])
Out[2]: Index(['a', 'b'], dtype='object')
```

This should return a `MultiIndex` I think, like

```python

Out[5]:
MultiIndex(levels=[['a', 'b']],
           labels=[[0, 1]])
```

Well, `pd.MultiIndex([['a', 'b']], [[0, 1]])` returns the same thing as `from_tuples` (an index) so maybe this is intentional.

Trying to figure out if this is intentional or not (this came up in my categorical dtype refactor).