ENH: DataFrame.style sparsified MultiIndex
- [x] closes #11655
- [x] tests added / passed
- [x] passes `git diff upstream/master | flake8 --diff`
- [x] whatsnew entry

[Notebook comparing `DataFrame._html_repr_` to `DataFrame.style`](https://gist.github.com/609c398f814b4a505bf4f406670e457e)

I think we're identical for non-truncated DataFrames. That' has not been implemented in `Styler` yet.

Along the way I noticed two other things that ended up needing fixing.
1. DataFrame.columns.names were not displayed
2. CSS classes weren't being assigned correctly to row labels.

The fixes ended up being pretty intertwined, so I've put them in a single PR. Unfortunately, the commits are a bit jumbled as well :/

> maybe put a ref to the style docs (e.g. not sure how much of an example is needed here)

@jreback this was undocumented... Adding this section to the notebook. Will push soon.

# CSS Classes

Certain CSS classes are attached to cells.
- Index and Column names include `index_name` and `level<k>` where `k` is its level in a MultiIndex
- Index label cells include
  - `row_heading`
  - `row<n>` where `n` is the numeric position of the row
  - `level<k>` where `k` is the level in a MultiIndex
- Column label cells include
  - `col_heading`
  - `col<n>` where `n` is the numeric position of the column
  - `level<k>` where `k` is the level in a MultiIndex
- Blank cells include `blank`
- Data cells include `data`
 ## [Current coverage](https://codecov.io/gh/pydata/pandas/pull/13775?src=pr) is 85.24% (diff: 100%)

> Merging [#13775](https://codecov.io/gh/pydata/pandas/pull/13775?src=pr) into [master](https://codecov.io/gh/pydata/pandas/branch/master?src=pr) will increase coverage by **<.01%**

``` diff
@@             master     #13775   diff @@
==========================================
  Files           140        140          
  Lines         50415      50440    +25   
  Methods           0          0          
  Messages          0          0          
  Branches          0          0          
==========================================
+ Hits          42970      42996    +26   
+ Misses         7445       7444     -1   
  Partials          0          0          
```

> Powered by [Codecov](https://codecov.io?src=pr). Last update [98c5b88...7c03a72](https://codecov.io/gh/pydata/pandas/compare/98c5b88d6f9f7bb0afa4fbae49a045d93a1cb33f...7c03a72212c2356ca9c00a8ad49ac12935d0ef82?src=pr)
 lgtm. merge away.
