ENH: Make ExcelWriter & ExcelFile contextmanagers

both can be used in with statements now. Makes it easier to use with
multiple writers, etc.

Plus touch up the docs on writers and such.
DOC: add HTML bad-request cookbook example
Merge pull request #4933 from jtratner/make-ExcelWriter-contextmanager

ENH: Make ExcelWriter & ExcelFile contextmanagers
BUG: Fixed a bug with setting invalid or out-of-range values in indexing
     enlargement scenarios (GH4940)
Merge pull request #4943 from jreback/e_dtype

BUG: Fixed a bug with setting invalid or out-of-range values in indexing enlargement scenarios (GH4940)
CLN: removed Panel.fillna, replacing within core/generic.py/fillna
Merge pull request #4951 from jreback/fillna

CLN: removed Panel.fillna, replacing within core/generic.py/fillna
TST: Tests for fillna on empty Series (GH4346), thanks @immerrr
BUG: fix incorrect TypeError raise

TypeError was being raised when a ValueError was raised because the
ValueError's message wasn't being converted to a string.
Merge pull request #4957 from cpcloud/hdfstore-append-error-fix

BUG: fix incorrect TypeError raise
BUG: Fix copy s.t. it always copies index/columns.

Only copies index/columns with `deep=True` on `BlockManager`. Plus some
tests...yay! Change copy to make views of indices.

Requires changing groupby to check whether indices are identical, rather
than comparing with `is`. Plus add tests for name checks through
everything. Also, fixes tests to use `is_()` rather than `is`

CLN: Change groupby to use 'is_' instead
ENH: enable deep copy for sparse Series/Panel
CLN: PEP8 tests/test_index.py and core/index