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.
BUG: rolling/expanding_* treamtment of center
ENH: plot functions accept multiple axes and layout kw
bug fix for 7987
CLN/DOC/TST: Categorical fixups (GH7768)

Categorical: preserve ints when NaN are present

  `Categorical([1, np.nan])` would end up with a single `1.` float level.
  This commit ensures that if `values` is a list of ints and contains np.nan,
  the float conversation does not take place.

Categorical: fix describe with np.nan

Categorical: ensure that one can assign np.nan

Categorical: fix assigning NaN if NaN in levels

API: change default Categorical.from_codes() to ordered=False

  In the normal constructor `ordered=True` is only assumed if the levels
  are given or the values are sortable (which is most of the cases), but
  in `from_codes(...)` we can't asssume this so the default should be
  `False`.

Categorical: add some links to Categorical in the other docs

Categorical: use s.values when calling private methods

  s.values is the underlying Categorical object, s.cat will be changed
  to only expose the API methods/properties.

Categorical: Change series.cat to only expose the API

Categorical: Fix order and na_position

Categorical: Fix comparison of Categoricals and Series|Categorical|np.array

  Categorical can only be comapred to another Categorical with the same levels
  and the same ordering or to a scalar value.

  If the Categorical has no order defined (cat.ordered == False), only equal
  (and not equal) are defined.

Categorical: Tab completition tests

Categorical: Fix for NA handling/float converting in levels

Categorical: make sure fillna gets both missing values and NA-levels

Categorical: add back labels as deprecated property

Categorical: Fix assigment to a Series(Categorical)) and remove Series.cat.codes

Categorical: declare most methods in Categorical NON-API
BUG: Bug in DataFrameGroupby.transform when transforming with a passed non-sorted key (GH8046)
Don't call np.roll on empty arrays.

On some versions of numpy (such as 1.7, but not 1.8), this throws a
ZeroDivisionError.

Fixes #8019.
Merge pull request #8049 from jreback/transform_order

BUG: Bug in DataFrameGroupby.transform when transforming with a passed non-sorted key (GH8046)
Merge pull request #8041 from ahlmss/slice_empty

BUG: Don't call np.roll on empty arrays.
PERF: StataReader is slow due to excessive lookups for missing vales

Previous versions of StataReader did not correctly check for missing values.
This was fixed in a previous PR, but these checks had previously been
implemented on a value-by-value basis.  This has now been changed to a
vectorized version that is orders of magnitude faster.

Adds support for preserving Stata missing values when importing data using
the convert_missing argument.  When True, missing values will be returned as
StataMissingValue objects.  Test cases for missing value conversion have been
included.

Additionally, a benchmark was added to monitor performance issues in the
future.

Closes #8040
Merge pull request #8045 from bashtage/stata_unpack_performance

PERF: StataReader is slow due to excessive lookups for missing vales
TST: Fix converter test for MPL1.4
Merge pull request #8054 from sinhrks/gh7233

TST: Fix tseries.converter test for MPL1.4
DOC: Fix Release note 8019, 8039
typo: "cubhelix" -> "cubehelix"
Merge pull request #8067 from ajschumacher/patch-1

typo: "cubhelix" -> "cubehelix"
Merge pull request #8068 from sinhrks/rn8019

DOC: Fix Release note 8019, 8039
Merge pull request #8007 from JanSchulz/categorical_fixups

CLN/DOC/TST: Categorical fixups (GH7768)
DOC: Add scatter to visualization.rst
Merge pull request #8069 from sinhrks/scatter_doc

DOC: Add scatter to visualization.rst