BUG? Intended bebavior? MI levels and codes ordered in lexsorted in from_* 
I find it a bit weird when working on a PR with MI issue and I am not sure if it is intended or a bug?and feel surprised they show different results

If creating MI e.g.
```python
>>> mi = pd.MultiIndex(levels=[['apple', 'baz', 'bar'], ['one', 'two', 'three']],
                                         codes=[[0, 1, 2], [0, 1, 2]])
>>> mi
MultiIndex([('apple',   'one'),
            (  'baz',   'two'),
            (  'bar', 'three')])
>>> mi.levels
>>> FrozenList([['apple', 'baz', 'bar'], ['one', 'two', 'three']])
>>> mi.codes
>>> FrozenList([[0, 1, 2], [0, 1, 2]])
```
And i think this is correct behavior

However, if creating MI using `from_*`, then:
```python
>>> mi = pd.MultiIndex.from_tuples([['apple', 'one'], ['baz','two'], ['bar','three']])
# this MI looks same as the one above
>>> mi 
MultiIndex([('apple',   'one'),
            (  'baz',   'two'),
            (  'bar', 'three')])
>>> mi.levels
>>> FrozenList([['apple', 'bar', 'baz'], ['one', 'three', 'two']])
>>> mi.codes
>>> FrozenList([[0, 2, 1], [0, 2, 1]])
```
Then checking codes and levels, they seem to be lexsorted already. I am not sure if this is intended? If so, maybe good to put some documentations describing it? since we do have `sortorder` option, honestly i am not sure how this argument works: changing the `sortorder` does not seem to change any output?
