Deprecate showcompact()
There is no obvious reason to provide a special function for the :compact IOContext property
but not for other properties. showcompact() used to be useful to print a single-line
representation of an array at the REPL, but now show() does the same thing. So it should only
be needed for collections to print their elements when implementing show(), and for tests
(most of the changes here).
Also improve a few docstrings.