Refine TeX-printing of datatype thms (particularly the "of")

The code

  add_string " of "

breaks mathmode spacing, and stops override files from seeing the “of” token entirely.
Allow avoid-token-merging code to print strings asserted to be zero-width.

It’s conceivable that a client may want to output a string to the
pretty-printing stream that the client wishes the stream to view as
having no width. The code previously didn’t allow this. Now, the code
checks to see if the desired output is actually the empty string
before doing nothing.
Provide a pretty-printing backend to help debug pp-blocks.

The debug_blocks_terminal prints out block-info into the stream as it
opens and closes the Oppen-blocks that are used to structure
pretty-printing.
Improve pretty-printing of if-then-else.  Closes #20

Include some regression tests.