slightly different printing of variants

- special handling of unary variants (put `( )` around them)
- place `"@[<hov 2>"` before for variant's name, so that deep-nested structures are indented instead of going straight to the right of the screen. 
- a test case, `src_examples/print_test.ml`, that prints such a deep tree.

Before and after the commit that updates `show`, try  `make examples; ./print_test.byte ` to see the difference.