Fix for #169.

Example of previous erroneous behavior:
```Haskell
  !Maybe a
```
New correct behavior:
```Haskell
  !(Maybe a)
```
Note that this only mattered for programmatically constructed ASTs -
for parsed code, the parentheses were already explicitly included
in the parse tree.
Merge pull request #180 from haskell-suite/prettybang

Insert parentheses when pretty-printing non-atomic bang types