Wrap an entry if it approaches the terminal width

Comma-separated output should appear a little nicer with this
change. If an entry sends the line length beyond the terminal
width, we'll go ahead and write out a line containing all of the
entries that we've buffered up. The terminal-width-breaking entry
will appear on the next line of output.

There is a regression which is causing some comma-separated and
column-format output to have an erroneous newline just before the
last entry, which simply means that output will appear a little
strange.