CLN: more generic index creation in algorithms.py

CLN: move coerce_indexer_dtype to common
PERF: set multiindex labels with coerced dtype (GH8456)
Merge pull request #8676 from jreback/algos

PERF: set multiindex labels with a coerced dtype (GH8456)
BUG: fix writing of Categorical with to_sql (GH8624)

Use .get_values() instead of .values on the block,
this ensures that NonConsolidatable blocks (non-dense
blocks like categorical or sparse) are densified
instead of just returning the raw .values
CLN: fix grammar in extract_index error message
Merge pull request #8691 from sangheestyle/master

CLN: fix grammar in extract_index error message
BUG: fix Categorical comparison to work with datetime

pd.Timestamp is one of types that don't pass np.isscalar test, that was
previously used in _cat_compare_op.  pd.lib.isscalar should be used
instead.
Merge pull request #8682 from jorisvandenbossche/sql-8624-categorical

BUG: fix writing of Categorical with to_sql (GH8624)
Merge branch 'fix-datetime-categorical-comparison' of https://github.com/immerrr/pandas into immerrr-fix-datetime-categorical-comparison

Conflicts:
	doc/source/whatsnew/v0.15.1.txt
API/BUG: return np.nan rather than -1 for invalid datetime accessors values (GH8689)
Merge pull request #8695 from jreback/danger

API/BUG: return np.nan rather than -1 for invalid datetime accessors values (GH8689)
BUG: incorrect serialization of a CustomBusinessDay in HDF5 (GH8591)
DOC: minor v0.15.1.txt changes
Merge pull request #8699 from jreback/cbd

BUG: incorrect serialization of a CustomBusinessDay in HDF5 (GH8591)
BUG: bug in selecting from a Categorical with iloc (GH8623)
BUG: bug in groupby-transform with a Categorical (GH8623)
BUG: bug in duplicated/drop_duplicates with a Categorical (GH8623)
Merge pull request #8700 from jreback/cat

BUG: various Categorical fixes (GH8623)
BUG: setitem fails on mixed-type Panel4D
ENH: provide a null_counts keyword to df.info() to force showing of null-counts
BUG: fix reflected comparison operations for Categorical

By the time the comparison gets dispatched to _cat_compare_op, the first
argument becomes zerodim array and no longer passes isscalar test.

ENH: add pd.lib.item_from_zerodim to extract values from zerodim arrays

ENH: make pd.lib.isscalar detect pd.Period, datetime.date and datetime.time
Merge pull request #8701 from jreback/show_counts

ENH: provide a null_counts keyword to df.info() to force showing of null counts