Better handling of blank lines when pretty-printing declarations (fix #171).

Blanklines will now conditionally be inserted as before between
declarations in a declaration group (where-binds, let-binds,
top-level). The first (or single) declaration will only be
preceded by a blank line if there is other content before it.