Shorter MultiIndex representation
- [x] closes #12423
- [x] tests added / passed
- [x] passes `git diff upstream/master -u -- "*.py" | flake8 --diff`
- [x] whatsnew entry

MultiIndex can currently have quite long repr output, which may also take a long time to print.

This PR makes the MultiIndex repr output similar in style to other Index reprs. An alternative would be to output ``labels`` and ``levels`` by supplying ``pd.options.display.max_seq_items`` to ``ibase.default_pprint``, but IMO this is better, as it's more similar to other axis repr's.

#### Example with few items in index

```python
>>> pd.MultiIndex(levels=[['a', 'b'], ['A', 'B']], labels=[[0, 0, 1, 1], [0, 0, 0, 1]])
MultiIndex(levels=[['a', 'b'], ['A', 'B']],
           labels=[[0, 0, 1, 1], [0, 0, 0, 1]])
```

#### Example with many items in index

```python
>>> idx=range(1000)
>>> pd.MultiIndex.from_arrays([idx, idx])
MultiIndex(levels=[[  0,   1,   2,   3,   4,   5,   6,   7,   8,   9,
                    ...
                    990, 991, 992, 993, 994, 995, 996, 997, 998, 999],
                   [  0,   1,   2,   3,   4,   5,   6,   7,   8,   9,
                    ...
                    990, 991, 992, 993, 994, 995, 996, 997, 998, 999],
                   ],
           labels=[[  0,   1,   2,   3,   4,   5,   6,   7,   8,   9,
                    ...
                    990, 991, 992, 993, 994, 995, 996, 997, 998, 999],
                   [  0,   1,   2,   3,   4,   5,   6,   7,   8,   9,
                    ...
                    990, 991, 992, 993, 994, 995, 996, 997, 998, 999],
                   ])
```

If this approach is ok, I can write up whatsnew, tests etc. but would appreciate feedback before I do that.

EDIT: tests and whatsnew added.
