BUG:  Fix integer modulo and division to work in a similar manner on integer dtypes as float dtypes (GH3590_).

      This is a numpy oddity that treats them differently.

ENH:  Add modulo operator to Series,DataFrame

TST: py3 compat for division
DOC: Clarify what Categorical takes.
REF: Deprecate Factor for Categorical.
ENH/DOC: Allow levels=None for Categorical
TST: Test Categorical constructor with levels=None
DOC: Coherent english in docstring
TST: Test describe method of Categorical
ENH: Add a describe method to Categorical.
REF: Remove Factor alias left by mistake.
ENH: Add levels=None in deprecated class too.
DOC: Factor -> Categorical.
BUG: non-unique indexers with a list-like now return in the same order as the passed values
BUG: handle missing indexers in duplicate indices similary to how unique handles (e.g. by reindexing)
Merge pull request #3563 from jreback/GH3561

BUG: (GH3561) non-unique indexers with a list-like now return in the same order as the passed values
Merge pull request #3600 from jreback/modulo

BUG:  Fix integer modulo and division to make integer and float dtypes work similarly for invalid values
REF: Factor -> Categorical.
DOC: basics.rst fix tiny error
BUG: Fix incorrect dtype on groupby with ``as_index=False`` (GH3610_)
Merge pull request #3613 from jreback/groupby_dtype

BUG: Fix incorrect dtype on groupby with ``as_index=False`` (GH3610_)
BUG: Add reduce_if_possible keyword to ``groupby`` to allow reduction from

    DataFrame -> Series if groups are unique. Regression from 0.10.1,
    partial revert on (GH2893_) with (GH3596_)

CLN: renamed reduce_if_possible -> squeeze

DOC: added v0.11.1 example