API: Add return_type kwarg to boxplot

update docs

API: Let 'by' and groupby follow return_type

Write all the docs
DOC: Use shared docstring
TST: restore matplotlib defaults before testing