ENH/DOC: add params to `DataFrame.to_csv` GH5414 GH4528

- Add `quotechar`, `doublequote`, and `escapechar` parameters
- Add tests for each new param
- Update relevant docs
ENH: ensure dtypes/ftypes properties return dtype=object for empty containers
ENH: Add new specialized asserts for tests

Work on #6175. Add versions of asserts (assertIs, assertIsNone, assertIn, plus complements) that were added in 2.7
Merge pull request #6376 from bwignall/assert_6175_newAsserts

ENH: Add new specialized asserts for tests
Merge pull request #5740 from immerrr/fix-empty-frame-dtypes

BUG: return Series as DataFrame.dtypes/ftypes for empty dataframes
Merge pull request #5414 from patricktokeeffe/pass-thru-to_csv-params

ENH/BUG: pass formatting params thru to `to_csv`
CLN: remove need for tz_localize, tz_convert in Series, use the generic
Merge pull request #6377 from jreback/tz_clean

CLN: remove need for tz_localize, tz_convert in Series, use the generic
TST: comapre only full dtypes in testing
BUG: preserve dtypes in interpolate
check in interp_with_fill too
ENH: Add sym_diff for index

update release and docs
Merge pull request #6378 from TomAugspurger/interpolate-ignore-good3

BUG: interpolate should preserve dtypes
Merge pull request #6016 from TomAugspurger/symmetric-difference

ENH: Add sym_diff for index
CLN: Change assert_(a in b) and assert_(a not in b) to specialized forms

Work on #6175. Changes instances of assert_(a [not] in b) to specialized assert[Not]In(a,b).
Merge pull request #6381 from bwignall/assert_6175_newAsserts_2

CLN: Change assert_(a in b) and assert_(a not in b) to specialized forms
TST: dtype comparisons on windows in test_generic.py