Fix DataFrame.to_latex() with MultiIndex columns

Currently, the positioning of \midrule is determined by the number of index
levels, not columns levels:

	>>> print pd.DataFrame({('x', 'y'): ['a']}).to_latex()
	\begin{tabular}{ll}
	\toprule
	{} &  x \\
	\midrule
	{} &  y \\
	0 &  a \\
	\bottomrule
	\end{tabular}

The fix is simple: use the number of column levels instead of the number
of index levels.
ENH: plot functions accept multiple axes and layout kw
bug fix for 7987
Coerce None consistently, depending on the dtype of the container.

Fixes #7939.
Merge pull request #7941 from ahlmss/set_item_to_none

API: Coerce None according to the dtype of the container
Merge pull request #7988 from MichaelWS/master

bug fix for 7987 and add day of week functionality to Holiday
Merge pull request #7736 from sinhrks/multi_ax

ENH: plot functions accept multiple axes and layout kw
Merge pull request #7982 from shoyer/fix-to_latex-multicolumn

Fix DataFrame.to_latex() midrule positioning with MultiIndex columns
TST: platform indexing, xref GH8007
DOC: show min supported version of numexpr is 2.1
PERF: StataReader is slow

StataReader does not make use of vectorized operations.

To improve performance, the following changes have been made:

* Use numpy.frombuffer to real the stored data in a single operation
* Vectorize date conversion
* Removal of unreachable private functions