TST: restructure sql tests

- add some explanation of structure of tests
- general clean-up (some pep8, docstrings, etc)
- move some methods to _TestSQLAlchemy
- use standard quoting for sqlite
ENH: Add an 'escape' keyword to DataFrame.to_latex (GH6472)

     The new keyword prevents the conversion from escaping column names
Merge pull request #6912 from jorisvandenbossche/sql-tests

TST: restructure sql tests
DOC: Add recipe for shifting groups of values based on the index
Merge pull request #6917 from unutbu/cookbook-apply-shift

DOC: Add recipe for shifting groups of values based on the index
DOC: minor correction in cookbook.rst
Add how kwarg to rolling_* functions [fix #6297]
API: remove the copy kw from .xs to prevent accidental / confusing setting (GH6894)
BUG: legend behaves inconsistently when plotting to the same axes repeatedly
Merge pull request #6919 from jreback/xs_copy

API: remove the copy kw from .xs to prevent an expectation of a view (which may not be possible)
Merge pull request #6845 from jsexauer/fix6297_pr

BUG/ENH: Add how kwarg to rolling_* functions [fix #6297]
Merge pull request #6678 from sinhrks/legend_pr

BUG: legend behaves inconsistently when plotting to the same axes
API: Stop modifying SQL column and names, and warn when pertinent.
BUG/INT: Internal tests for patching __finalize__ / bug in merge not finalizing (GH 6923)
Merge pull request #6924 from jreback/finalize

BUG/INT: Internal tests for patching __finalize__ / bug in merge not finalizing (GH6923)
Merge pull request #6902 from danielballan/remove-safe-col-names

API: Stop modifying SQL column and names, and warn when pertinent.
ENH: Added CustomBusinessMonth offset.
API: align Panel.shift API with generic
change pct_change back to a kwarg
Merge pull request #6928 from TomAugspurger/panel_shift_kwarg

API/DEPR: Match Panel.shift()'s signature to generic