API: SQL class definitions renaming

- renaming of PandasSQLAlchemy to SQLDatabase and PandasSQLTable to SQLTable
- renaming of SQLDatabase.read_sql to read_query (to be consistent with read_query/read_table)
- legacy -> fallback
PERF: optimize storage type for codes in Categoricals (GH8453)
type diversity breaks alignment
BUG: fix applymap to handle Timedelta
DOC: Cleanup of plots in visualization.py

DOC: Use square figsize for pie plots
DOC: Don't share axis labels and reorder to fit in page.
Merge pull request #8461 from jreback/applymap

BUG: fix applymap to handle Timedelta
Merge pull request #8455 from jreback/cat2

PERF: optimize storage type for codes in Categoricals (GH8453)
Merge pull request #8457 from behzadnouri/align-rhs

BUG: type diversity breaks alignment
Merge pull request #8391 from TomAugspurger/square-pie

DOC: Use square figsize for pie plots
DOC: doc updates for categoricals
TST/PERF: have moments slow tests run faster (GH8450)
DOC: categorical.rst fixups
BUG: fix Index.reindex to preserve name when target is list/ndarray

CLN: drop copy_if_needed kwarg of Index.reindex, it's True everywhere

TST: enable back empty loc/ix tests that failed before

DOC: Bump Index.reindex docstring
Merge pull request #8460 from immerrr/preserve-index-names-when-reindexing

BUG: fix Index.reindex to preserve name when target is list/ndarray
WIP: searchsorted implementation
TST: complex ops test correction
Merge pull request #7447 from cpcloud/pd-searchsorted

WIP: searchsorted implementation
Closes #6852. Dataframe memory usage methods implemented.
Merge pull request #7619 from asobrien/df-mem-info

ENH: dataframe memory usage
BUG: fix Index.reindex to preserve type when target is empty list/ndarray

TST: check index/columns types when doing empty loc/ix tests

CLN: don't _ensure_index in NDFrame._reindex_axes, it is done in
     Index.reindex