DOC: Clarify that DataFrame string formatters must return strings

I am not 100% sure that string formatters must really return *unicode* strings
(non-unicode strings seem to work, too), but I am leaving that because it's
what is already documentated.

Fixes #6052.
Merge pull request #6054 from shoyer/test-DataFrame.to_latex

DOC: Clarify that DataFrame string formatters must return strings
BUG: correctly handle placement of pos/neg inf when dividing by integer 0